Django

Testowanie w Django

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

22 pytań z rozmów·
Mid-Level
1

Której klasy bazowej należy używać do pisania testów jednostkowych w Django?

Odpowiedź

django.test.TestCase to zalecana klasa bazowa dla testów jednostkowych Django. Dziedziczy po unittest.TestCase i dodaje funkcje specyficzne dla Django, takie jak automatyczne opakowywanie każdego testu w transakcję bazy danych, która jest wycofywana po każdym teście, zapewniając izolację testów.

2

Jaka jest główna różnica między TestCase a TransactionTestCase w Django?

Odpowiedź

TestCase opakowuje testy w atomową transakcję, która jest wycofywana na końcu, co jest szybsze, ale uniemożliwia testowanie rzeczywistych zachowań transakcyjnych. TransactionTestCase odtwarza bazę danych między każdym testem, umożliwiając testowanie jawnych commitów i rollbacków, ale jest wolniejszy.

3

Jak użyć test clienta Django do zasymulowania żądania GET do widoku?

Odpowiedź

Test client Django, dostępny przez self.client w TestCase, pozwala symulować żądania HTTP. Metoda self.client.get('/url/') symuluje żądanie GET i zwraca obiekt Response zawierający status_code, content oraz context szablonu użytego do renderowania.

4

Jak załadować predefiniowane dane testowe w Django za pomocą fixtures JSON?

5

Jaka jest główna zaleta używania Factory Boy zamiast fixtures JSON?

+19 pytań z rozmów

Opanuj Django na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo