Django

Testing in Django

TestCase, fixtures di test, factories, test client, coverage, TDD, mocking, integrazione CI/CD

22 domande da colloquio·
Mid-Level
1

Quale classe base dovrebbe essere usata per scrivere test unitari in Django?

Risposta

django.test.TestCase è la classe base consigliata per i test unitari di Django. Eredita da unittest.TestCase e aggiunge funzionalità specifiche di Django, come l'incapsulamento automatico di ogni test in una transazione di database che viene annullata al termine di ciascun test, garantendo l'isolamento dei test.

2

Qual è la differenza principale tra TestCase e TransactionTestCase in Django?

Risposta

TestCase incapsula i test in una transazione atomica annullata alla fine, il che è più veloce ma impedisce di testare i comportamenti transazionali reali. TransactionTestCase ricrea il database tra ogni test, consentendo di testare commit e rollback espliciti, ma è più lento.

3

Come usare il test client di Django per simulare una richiesta GET a una view?

Risposta

Il test client di Django, accessibile tramite self.client in un TestCase, consente di simulare richieste HTTP. Il metodo self.client.get('/url/') simula una richiesta GET e restituisce un oggetto Response contenente status_code, content e il context del template usato per il rendering.

4

Come caricare dati di test predefiniti in Django usando le fixtures JSON?

5

Qual è il vantaggio principale di usare Factory Boy rispetto alle fixtures JSON?

+19 domande da colloquio

Padroneggia Django per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis