Biblioteca de aserciones


La biblioteca de aserciones escogida es:

Las herramientas proporcionadas por dicha herramienta se integrarán además con el marco de pruebas escogido, pero eso se mencionará en este apartado. Además, no se descarta su integración con otra biblioteca de aserciones en el futuro, ya que es compatible con la mayoría de bibliotecas de aserciones.

Inicialmente se valoraron distintas bibliotecas de aserciones dedicadas como Unittest, Grappa, Verify o hypothesis. Cabe destacar que Python posee una infinidad de bibliotecas destinadas a este fin, por ese motivo, vamos a buscar una biblioteca que nos permita realizar los tests de una forma limpia, sencilla, legible y que se integre con el marco de pruebas sin problema alguno.

Python incluye aserciones por omisión, y además incluye biblioteca como Unittest o Doctest de forma integrada, por lo que el uso de estas bibliotecas sería una buena aproximación inicial, pero finalmente, tras una primera fase en las que se utilizó la sentencia assert nativa del lenguaje, y tras estudiar nuevas herramientas, se ha decidido finalmente utilizar Assertpy por los siguientes motivos:

Un ejemplo de un test diseñado para el proyecto sería:

# Test de creación de usuario administrativo
def test_crear_admin():
	controlador = Controller()
	admin = UsuarioAdmin("Carlos", "carlos7ma@gmail.com", "75925767-F", "")
	adminOtro = UsuarioAdmin("Fernando", "fer@gmail.com", "12925767-F", "")
	
	controlador.crear_admin(admin)
	assert_that(controlador.usuariosAdmins).contains(admin).does_not_contain(adminOtro)