Pruebas del Modelo 20-21

De Wiki de EGC
Saltar a: navegación, buscar

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 __strt__ 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.