Lección 3: Testing

Vamos a añadir pytest como herramienta de testing para que use la configuración de Django. Para ello crearemos en la raíz del proyecto el archivo pytest.ini con el siguiente contenido.

[pytest]
DJANGO_SETTINGS_MODULE = proyecto.settings

# Opcional, pero recomendado
python_files = tests.py test_*.py *_tests.py

Para este proyecto, vamos a mantener todas nuestras pruebas juntas en un único directorio tests dividido por las aplicaciones.

Crea un nuevo directorio llamado tests y dentro otro directorio llamado libros. Por último, dentro de libros crear un archivo llamado test_ejemplo.py.

tests
    └── libros
            └── test_ejemplo.py

Por defecto, pytest encontrará los archivos de prueba que empiecen o terminen con la palabra test. Por ejemplo, test_*.py o *test.py. Las funciones de prueba deben comenzar con test, y si quieres usar clases deben comenzar con Test.

Añade el siguiente contenido.

# tests/libros/test_ejemplo.py

# Las funciones deben empezar por "test_"
def test_titulo():
    assert "canción de hielo y fuego" != "juego de tronos"

Para ejecutar todos los test, tan solo ejecuta.

pytest

Te informará que ha pasado el test sin problemas.

=================================================== test session starts ===================================================
platform linux -- Python 3.9.2, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
django: settings: proyecto.settings (from ini)
plugins: django-4.4.0
collected 1 item                                                                                                          

tests/libros/test_ejemplo.py .                                                                                      [100%]

==================================================== 1 passed in 0.04s ====================================================

¿Te ayudo?

  • 1 café: ¡Gracias por el apoyo! Te ayudo a que esta web siga estando online pagando los servidores.
  • 2 cafés: Respondo a una duda en los comentarios.
  • 4 cafés: Te corrijo una actividad y te envío feedback.
Comprame un café

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario