奈杰尔的答案很好,而且绝对是进入市场的最低门槛。但是,你可以得到更优质的反馈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
将以下内容添加到settings.py中的NOSE_ARGS: '--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可能是必需的(例如,测试某些事务行为)。”