Diferencia entre revisiones de «Pruebas unitarias»

De Wiki de EGC
Saltar a: navegación, buscar
Línea 21: Línea 21:
 
'''Ejercicio 2'''
 
'''Ejercicio 2'''
  
 +
Para probar la cobertura de nuestras pruebas usaremos la aplicación coverage:
 +
 +
<source>
 +
$ pip install coverage==3.6
 +
</source>
 +
 +
Para lanzar el analisis de cobertura:
 +
<source>
 +
coverage run ./manage.py test -v 2
 +
</source>
 +
 +
o en el caso de ejecutarlas dentro de docker:
 +
<source>
 +
$ docker exec -ti decide_web coverage run ./manage.py test -v 2
 +
</source>
 +
 +
Tras esto deberemos generar el informe en html:
 +
 +
<source>
 +
coverage html
 +
</source>
 +
 +
o en el caso de ejecutarlas dentro de docker:
 +
<source>
 +
$ docker exec -ti decide_web coverage html
 +
</source>
 +
 +
 +
Finalmente podemos ver el contenido del html abriendo "decide/htmlcov/index.html"
 +
o si queremos abrirlo dentro del docker:
 +
 +
<source>
 +
#opcionalmente
 +
xhost +
 +
 +
sudo docker exec -ti decide_web firefox file:///app/decide/htmlcov/index.html
 +
</source>
 +
 +
'''Ejercicio 3'''
 
Pensar los tests que necesitaremos para nuestro proyecto decide.
 
Pensar los tests que necesitaremos para nuestro proyecto decide.

Revisión del 12:17 16 nov 2019

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ón de cobertura de las pruebas es algo que debemos decidir. Los tests de cada módulo se implementan en archivos python que comienzan por test*

Ejercicio 1

Lo primero que vamos a hacer es crear un nuevo test para el modulo de autenticación de decide donde en vez de probar la aplicación, comprobaremos que la suma de dos enteros es correcta. Nota esta prueba es para familiarizarnos con el framework. Aquí no estamos probando nuestra app Django.


from django.test import TestCase
class SimpleTest(TestCase):
def test_basic_addition(self):
 """
 Tests that 1 + 1 always equals 2.
 """
 self.assertEqual(1 + 1, 2)

Para ejecutar los tests deberemos ejecutar ./manage.py test authentication.

Ejercicio 2

Para probar la cobertura de nuestras pruebas usaremos la aplicación coverage:

$ pip install coverage==3.6

Para lanzar el analisis de cobertura:

coverage run ./manage.py test -v 2

o en el caso de ejecutarlas dentro de docker:

$ docker exec -ti decide_web coverage run ./manage.py test -v 2

Tras esto deberemos generar el informe en html:

coverage html

o en el caso de ejecutarlas dentro de docker:

$ docker exec -ti decide_web coverage html


Finalmente podemos ver el contenido del html abriendo "decide/htmlcov/index.html" o si queremos abrirlo dentro del docker:

#opcionalmente 
xhost +

sudo docker exec -ti decide_web firefox file:///app/decide/htmlcov/index.html

Ejercicio 3 Pensar los tests que necesitaremos para nuestro proyecto decide.