Jak mogę debugować moje testy? Na przykład: POST, aby utworzyć wpis i oczekiwać, że zweryfikuje i zwróci daną stronę. Działa w przeglądarce i powłoce, ale test jest jedyną rzeczą, która zawodzi (ironicznie!). Chciałbym wydrukować odpowiedź na konsolę lub coś takiego, abym mógł odczytać błędy lub co ty. Ale widzę tylko rzeczy, które I print
w np. widok.Jak debugować awarie testów w Django?
Nie wiesz, że to konieczne, ale tutaj jest kod testu w pytaniu od tests.py
:
resp = self.client.post('/meal/invite/',
{'summary': 'Test munch', 'when': now(), 'max_diners': '1', 'description': 'Munchies'}, follow=True)
self.assertEqual(resp.status_code, 200)
self.assertContains(resp, 'Test munch', 1)
self.assertContains(resp, 'You are hosting this meal', 1)
Ostateczna twierdzenie jest błędne. Jeśli zmienię go na wartość obecną na pierwotnej stronie formularza, która zawiera błędy wymagane w polu, oznacza to, że minęło. Po prostu nie widzę tego, czego mi brakuje.
Mam kilka innych testów działających, ale po prostu nie wiem, jak to debugować.
Jak to zrobić?
Tak, to było bardzo pomocne dla mnie! Mimo że dodałem punkty przerwania za pośrednictwem ('import ipdb; ipdb.set_trace()'), moje polecenie './manage.py test' nie zatrzymało się na punktach przerwania. Dodanie tej flagi '-s' naprawi to. – modulitos