ナイジェルの答えは素晴らしく、間違いなく参入障壁が最も低いです。しかし、あなたができるとより良いフィードバックを得るdjango_nose
(とそうではありませんことをセットアップするのが難しいです;)。
以下はからです:Pythonを使用したBDD
最初に:いくつかの要件をインストールします:
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が必要になる可能性があります(トランザクション動作のテストなど)」を繰り返さないようにしています。