Odpowiedź klienta testu jednostkowego Django ma pusty kontekst

Mam test jednostkowy, który zawodzi w twierdzeniu, które przechodzi w innym teście w tej samej klasie przypadków testowych.

Oto test pozytywny:

def test_home(self):
    c = Client()
    resp = c.get('/')
    self.assertEqual(resp.status_code, 200)
    self.assertTrue('a_formset' in resp.context)

Oto nieudany test:

def test_number_initial_number_of_forms(self):
    c = Client()
    resp = c.get('/')
    self.assertEqual(resp.context['a_formset'].total_form_count(), 1)

W drugim teście dostaję błądTypeError: 'NoneType' object has no attribute '__getitem__'.

Jeśli wykonam drugi test jako

def test_number_initial_number_of_forms(self):
    c = Client()
    resp = c.get('/')
    self.assertTrue('a_formset' in resp.context)
    self.assertEqual(resp.context['a_formset'].total_form_count(), 1)

Dostaję błądTypeError: argument of type 'NoneType' is not iterable. Potwierdziłem za pomocą instrukcji print w drugim teście, że odpowiedź response.content zawiera stronę, którą oczekuję, że kod stanu jest poprawny i że szablon jest poprawny. Ale kontekst odpowiedzi jest konsekwentnyNone w drugim teście.

Używam testów jednostkowych Django za pomocą standardowego interfejsu „python manage.py test ...”, więc nie wierzę, że trafię na „kontekst jest pusty z powłoki" kwestia.

Co się z tym dzieje?

Edytować:

Jeśli dodamprint type(resp.context['a_formset']) do każdego testu, na otrzymany test roboczy<class 'django.forms.formsets.AFormFormSet'>. Dla testu niepracującego dostajęTypeError: 'NoneType' object has no attribute '__getitem__' jeszcze raz.

questionAnswers(2)

yourAnswerToTheQuestion