Diferencia entre revisiones de «Pruebas unitarias 20-21»
(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 36: | Línea 36: | ||
coverage html | coverage html | ||
</source> | </source> | ||
− | |||
− | |||
Finalmente podemos ver el contenido del html abriendo "decide/htmlcov/index.html" | Finalmente podemos ver el contenido del html abriendo "decide/htmlcov/index.html" | ||
'''Ejercicio 3''' | '''Ejercicio 3''' | ||
Pensar los tests que necesitaremos para nuestro proyecto decide. | Pensar los tests que necesitaremos para nuestro proyecto decide. |
Revisión actual del 07:01 29 oct 2020
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
Para lanzar el analisis de cobertura:
coverage run ./manage.py test -v 2
Añadiremos la opción "--source ." para sólo analizar nuestro código de decide pero no las bibliotecas incluidas.
coverage html
Finalmente podemos ver el contenido del html abriendo "decide/htmlcov/index.html"
Ejercicio 3 Pensar los tests que necesitaremos para nuestro proyecto decide.