Django

Testing en Django

TestCase, fixtures de prueba, factories, test client, coverage, TDD, mocking, integración CI/CD

22 preguntas de entrevista·
Mid-Level
1

¿Qué clase base se debe usar para escribir pruebas unitarias en Django?

Respuesta

django.test.TestCase es la clase base recomendada para las pruebas unitarias de Django. Hereda de unittest.TestCase y añade funcionalidades específicas de Django, como envolver automáticamente cada test en una transacción de base de datos que se revierte tras cada test, garantizando el aislamiento de las pruebas.

2

¿Cuál es la diferencia principal entre TestCase y TransactionTestCase en Django?

Respuesta

TestCase envuelve los tests en una transacción atómica que se revierte al final, lo cual es más rápido pero impide probar comportamientos transaccionales reales. TransactionTestCase recrea la base de datos entre cada test, permitiendo probar commits y rollbacks explícitos, pero es más lento.

3

¿Cómo usar el test client de Django para simular una petición GET a una vista?

Respuesta

El test client de Django, accesible mediante self.client en un TestCase, permite simular peticiones HTTP. El método self.client.get('/url/') simula una petición GET y devuelve un objeto Response que contiene el status_code, el content y el context del template usado para el renderizado.

4

¿Cómo cargar datos de prueba predefinidos en Django usando fixtures JSON?

5

¿Cuál es la principal ventaja de usar Factory Boy frente a las fixtures JSON?

+19 preguntas de entrevista

Domina Django para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis