Módulo: Testing y despliegue
Este módulo forma parte del curso de Django. Incluye 6 lecciones .
Testing y despliegue
El módulo de testing y despliegue cierra el ciclo de desarrollo de Django: testing unitario y de integración con TestCase, medición de cobertura con Coverage.py, y despliegue en producción con Gunicorn, Nginx, Docker y configuración segura.
Testing unitario
La clase TestCase de Django proporciona una base de datos aislada para cada test, setUp y tearDown, y assertions especializados. Los tests de modelos verifican la lógica de negocio, los formularios comprueban la validación, y los de señales aseguran que los eventos disparan las acciones correctas.
Testing de vistas con Client
El Client de test simula peticiones HTTP sin necesidad de un servidor real. Métodos client.get() y client.post() devuelven respuestas que pueden verificarse con assertContains(), assertRedirects(), assertTemplateUsed() y assertEqual(response.status_code, 200).
class ListaProductosTest(TestCase):
def test_lista_muestra_productos(self):
Producto.objects.create(nombre='Test', precio=9.99)
response = self.client.get(reverse('lista-productos'))
self.assertEqual(response.status_code, 200)
self.assertContains(response, 'Test')
Cobertura de código
Coverage.py mide qué porcentaje del código Python es ejecutado por los tests. Se integra con python manage.py test y genera informes HTML detallados. Alcanzar una cobertura alta (>80 %) garantiza que las funcionalidades críticas están correctamente probadas.
Despliegue con Gunicorn, Nginx y Docker
En producción Django se ejecuta con Gunicorn como servidor WSGI detrás de Nginx como proxy inverso. Docker y docker-compose contenerizan la aplicación con collectstatic en el proceso de construcción. La configuración de producción requiere DEBUG=False, ALLOWED_HOSTS restringido, HTTPS con SECURE_SSL_REDIRECT, HSTS y archivos estáticos servidos con WhiteNoise o Nginx.
Otros módulos de este curso
Testing y despliegue
Lecciones de este módulo
Explora todas las lecciones disponibles en Testing y despliegue
Todos los módulos del curso
Navega entre los módulos de Django
Testing y despliegue
Estás aquíExplora más sobre Django
Descubre más recursos de Django
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Django es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.