Diferencia entre revisiones de «Pruebas del Modelo 22-23»
(Página creada con « Las pruebas unitarias están destinadas a identificar errores en partes pequeñas de código con la idea de maximizar la cobertura de nuestros tests. Recordar que la funci...») |
|||
Línea 1: | Línea 1: | ||
+ | Como vimos en las clase de teoría, para poder probar los elementos persistentes disponemos de las pruebas CRUD. | ||
+ | Es importante conocer que en Django los tests no se ejecutan sobre la misma base de datos que la que usamos en producción, por lo que los elementos que creemos no permanecerán en nuestra instalación de producción. | ||
− | + | <source> | |
+ | def setUp(self): | ||
+ | super().setUp() | ||
+ | self.census = Census(voting_id=1, voter_id=1) | ||
+ | self.census.save() | ||
− | + | def tearDown(self): | |
+ | super().tearDown() | ||
+ | self.census = None | ||
− | + | def test_store_census(self): | |
− | + | self.assertEqual(Census.objects.count(), 1) | |
+ | </source> | ||
+ | También hay otros métodos que se definen en los modelos y que puede tener sentido quere probar aunque no persistan datos, como por ejempo __str__ de voting. El siguiente método lo podemos añadir dentro de la clase de test de Voting y utilizar sus métodos auxiliares como el "create_voting()". Es método añade varias opciones con el nombre "opción ''i'' (''i+1'')" | ||
<source> | <source> | ||
− | + | def test_Voting_toString(self): | |
− | + | v = self.create_voting() | |
− | + | self.assertEquals(str(v),"test voting") | |
− | + | self.assertEquals(str(v.question),"test question") | |
− | + | self.assertEquals(str(v.question.options.all()[0]),"option 1 (2)") | |
− | + | ||
− | |||
</source> | </source> | ||
− | + | '''Ejercicio 1''' | |
− | |||
− | '''Ejercicio | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Implemente una prueba que cree una votación con una pregunta y dos opciones de respuesta. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[link1]] | |
− |
Revisión actual del 09:14 4 oct 2022
Como vimos en las clase de teoría, para poder probar los elementos persistentes disponemos de las pruebas CRUD. Es importante conocer que en Django los tests no se ejecutan sobre la misma base de datos que la que usamos en producción, por lo que los elementos que creemos no permanecerán en nuestra instalación de producción.
def setUp(self):
super().setUp()
self.census = Census(voting_id=1, voter_id=1)
self.census.save()
def tearDown(self):
super().tearDown()
self.census = None
def test_store_census(self):
self.assertEqual(Census.objects.count(), 1)
También hay otros métodos que se definen en los modelos y que puede tener sentido quere probar aunque no persistan datos, como por ejempo __str__ de voting. El siguiente método lo podemos añadir dentro de la clase de test de Voting y utilizar sus métodos auxiliares como el "create_voting()". Es método añade varias opciones con el nombre "opción i (i+1)"
def test_Voting_toString(self):
v = self.create_voting()
self.assertEquals(str(v),"test voting")
self.assertEquals(str(v.question),"test question")
self.assertEquals(str(v.question.options.all()[0]),"option 1 (2)")
Ejercicio 1
Implemente una prueba que cree una votación con una pregunta y dos opciones de respuesta.