Nigels Antwort ist großartig und definitiv die niedrigste Eintrittsbarriere. Sie können jedoch noch besseres Feedback erhalten django_nose
(und es ist nicht so schwierig einzurichten;).
Das Folgende ist von: BDD mit Python
Erstens: Installieren Sie einige Anforderungen:
pip install nose pinocchio django_nose
Fügen Sie dann Folgendes hinzu settings.py
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = ['--with-spec', '--spec-color']
Führen Sie dann Ihre Tests wie gewohnt aus:
python manage.py test
Die Ausgabe sollte ungefähr so aussehen:
Hinweis: Die Kommentare unter Ihren Tests können verwendet werden, um eine noch bessere Ausgabe als nur den Namen zu erzielen.
z.B:
def test_something(self):
"""Something should happen"""
...
Gibt beim Ausführen des Tests "Etwas sollte passieren" aus.
Für zusätzliche Punkte: Sie können auch Ihre Codeabdeckung generieren / ausgeben:
pip install coverage
Fügen Sie Ihrem NOSE_ARGS in settings.py Folgendes hinzu: '--with-coverage', '--cover-html', '--cover-package=.', '--cover-html-dir=reports/cover'
z.B:
NOSE_ARGS = ['--with-spec', '--spec-color',
'--with-coverage', '--cover-html',
'--cover-package=.', '--cover-html-dir=reports/cover']
Dann erhalten Sie beim Ausführen eine schöne Zusammenfassung der Codeabdeckung python manage.py test
sowie einen übersichtlichen HTML-Bericht inreports/cover
transaction.atomic()
, um eine Testisolation zu erreichen ......... nTestCase ist möglicherweise erforderlich (z. B. Testen eines bestimmten Transaktionsverhaltens)."