Відповідь Найджела чудова і, безумовно, найнижча перешкода для входу. Тим НЕ менше, ви можете отримати ще кращу зворотний зв'язок з django_nose
(і це не що важко встановити;).
Нижче з: BDD з Python
По-перше: встановіть деякі вимоги:
pip install nose pinocchio django_nose
Потім додайте наступне до settings.py
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = ['--with-spec', '--spec-color']
Потім запустіть свої тести, як зазвичай:
python manage.py test
Результат повинен виглядати приблизно так:
Примітка: Коментарі до ваших тестів можуть бути використані для отримання навіть кращого результату, ніж просто ім'я.
наприклад:
def test_something(self):
"""Something should happen"""
...
Під час запуску тесту буде виведено "Щось має статися".
Для отримання додаткових балів: Ви також можете генерувати / виводити покриття коду:
pip install coverage
Додайте до NOSE_ARGS у settings.py наступне: '--with-coverage', '--cover-html', '--cover-package=.', '--cover-html-dir=reports/cover'
наприклад:
NOSE_ARGS = ['--with-spec', '--spec-color',
'--with-coverage', '--cover-html',
'--cover-package=.', '--cover-html-dir=reports/cover']
Тоді ви отримаєте приємний підсумок покриття коду під час запуску python manage.py test
, а також охайний HTML-звіт уreports/cover
transaction.atomic()
для досягнення тестової ізоляції ......... nTestCase може знадобитися (наприклад, тестування деякої поведінки транзакцій)."