Pruebas unitarias con modelos Django y muchas relaciones involucradas.

O, "¿Cómo diseñar su esquema de base de datos para una prueba de unidad fácil?"

Por cierto, hay una pregunta muy similar a esto aquí:Cómo probar modelos en Django con llaves extranjeras

Estoy tratando de seguir la metodología TDD para un proyecto que usa el framework Django. Estoy creando y probando modelos y su funcionalidad (métodos de guardado, señales, ...) y otras funciones de alto nivel que se basan en los modelos.

Entiendo que las pruebas unitarias deben ser lo más aisladas posible, pero me encuentro creando muchas tablas y relaciones usando FactoryBoy para cada prueba, por lo que mi prueba no es lo suficientemente fuerte porque si algo cambia en un modelo, muchas pruebas podrían romperse.

¿Cómo evitar todas estas dependencias y hacer la prueba más limpia?

¿Qué recomiendan ustedes para evitar todo ese problema antes de la prueba?

¿Cuáles son las mejores prácticas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta