Introducción a las pruebas unitarias¶
Vamos a crear una prueba muy simple, ésta creará un usuario de pruebas y luego comprobará que existe su perfil, si existe pasará el test y si no fallará.
Para crear un test iremos al fichero tests.py de la app registration. Ahí veremos que por defecto hay una clase cargada llamada TestCase, vamos a cargar nuestros modelos User y Profile.
Ahora vamos a crear la clase con las pruebas:
El método setUp de TestCase es donde haremos la preparación, y luego tenemos un método propio, test_profile_exists, donde definiremos el test. Puede tener cualquier nombre siempre que empiece por test_.
La preparación es muy simple, sólo debemos crear un usuario de pruebas:
Normalmente los objetos se crean con su método create, pero el caso de User es especial, ya que contiene un método create_user encargado de cifrar la contraseña por nosotros.
Ahora vamos a definir el test. Se supone que en este punto el usuario creado existirá, así que podemos comprobar que haya un perfil con ese usuario:
La prueba en sí misma es muy sencilla, solo hacemos un assertEqual para comprobar que exists sea True.
Y ahora ¿como la ejecutamos? Pues desde el manage.py haremos:
Como véis se ha creado una base de datos de prueba, casualmente también llamada test, se ha ejecutado 1 test y ha devuelto OK. Luego se ha borrado la base de datos de prueba, así que no queda ni rastro del usuario test.
Con esto lo tenemos perfecto y podemos estar seguros de que nunca quedará un usuario sin perfil.
Última edición: 25 de Marzo de 2021