¿Qué es lo suficientemente rápido? Esto es algo muy subjetivo, y hay dos tipos de pruebas que probablemente merecen su atención:
Prueba funcional / Prueba E2E:
- Pruebe los requisitos comerciales (generalmente con selenio).
- Lento
Prueba de unidad:
- Pruebe sus requisitos por función.
- Por lo general, muy rápido.
Ahora, ¿cómo puede optimizar rápidamente su prueba?
- Para dividir una tabla en HTML en cuatro partes iguales, ¿cuál es el código?
- Cómo dividir un trabajo de desarrollo web en tareas para que pueda verificar cada paso que mi desarrollador ha realizado en una metodología de proyecto ágil
- ¿Cómo modificamos el panel de WordPress sin complemento?
- ¿Alguien se ha convertido en un buen desarrollador web sin mucho conocimiento de las matemáticas?
- ¿Qué es lo siguiente que debo hacer después de aprender HTML?
- Use sqlite como su base de datos de prueba para la máquina local. – esta es probablemente la optimización más rápida que puede hacer, ya que solo se ejecuta en la memoria.
- Utilice la solicitud de fábrica para pruebas unitarias, elimina toda la configuración que necesita Django (Middleware, Context, etc.) para cada prueba, más como una caja negra.
Suponiendo que está utilizando algún tipo de herramienta de Integración Continua (por ejemplo, Jenkins), entonces no debería preocuparse en absoluto. Simplemente ejecute un poco de su prueba en su local y deje que Jenkins se encargue de todo su conjunto de pruebas.
Pero para responder tu pregunta:
django-pytest / django-nose: tienen una función específica para reutilizar la base de datos creada previamente para evitar la configuración.