Odpowiedź Nigela jest świetna i zdecydowanie najmniejsza bariera wejścia. Możesz jednak uzyskać jeszcze lepsze informacje zwrotne django_nose
(i nie jest to trudne do skonfigurowania;).
Poniżej pochodzi z: BDD z Pythonem
Po pierwsze: zainstaluj niektóre wymagania:
pip install nose pinocchio django_nose
Następnie dodaj następujące elementy do settings.py
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = ['--with-spec', '--spec-color']
Następnie przeprowadź testy w normalny sposób:
python manage.py test
Wynik powinien wyglądać mniej więcej tak:
Uwaga: Komentarze w testach mogą być wykorzystane do uzyskania jeszcze lepszych wyników niż tylko nazwa.
na przykład:
def test_something(self):
"""Something should happen"""
...
Podczas wykonywania testu wyświetli komunikat „Coś powinno się zdarzyć”.
Dodatkowe punkty: możesz również wygenerować / wyprowadzić pokrycie kodu:
pip install coverage
Dodaj następujące elementy do swojego NOSE_ARGS w settings.py: '--with-coverage', '--cover-html', '--cover-package=.', '--cover-html-dir=reports/cover'
na przykład:
NOSE_ARGS = ['--with-spec', '--spec-color',
'--with-coverage', '--cover-html',
'--cover-package=.', '--cover-html-dir=reports/cover']
Po uruchomieniu otrzymasz ładne podsumowanie pokrycia kodu python manage.py test
oraz zgrabny raport HTML wreports/cover
transaction.atomic()
do uzyskania izolacji testu ......... nTestCase może być konieczne (np. Testowanie niektórych zachowań transakcyjnych)”.