Aprender Django Testing y despliegue

Módulo del curso de Django

Django
Django
Módulo del curso
6 lecciones
Actualizado: 18/04/2026

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.

Explora más sobre Django

Descubre más recursos de Django

Alan Sastre - Autor del curso

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.