¿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?
- Cómo comenzar si quiero aprender programación web
- ¿Por qué un script PHP se llama script? ¿Qué los hace un guión?
- ¿Qué sucede entre la página de inicio de sesión y nuestra página en un sitio web? ¿Puedes explicar claramente con un poco de código?
- ¿Cómo puede mejorar el registro de usuarios en su sitio Joomla?
- ¿Por qué mi cadena SQL con comillas simples no se inserta?
- 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.