Djangoのmanage.py test
コマンドを使用してテストの実行が終了すると、合格したテストの数だけがコンソールに出力されます。
(virtualenv) G:\Project\>python manage.py test
Creating test database for alias 'default'...
True
..
----------------------------------------------------------------------
Ran 2 tests in 0.017s
OK
Destroying test database for alias 'default'...
見る方法はありますか?
ドキュメントに解決策が見つかりませんでした。
-v 2
をtest
コマンドに渡すことができます。
python manage.py test -v 2
このコマンドを実行すると、次のようなものが得られます(Django 2を使用しています。移行/データベースなどは無視してください):
Creating test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...
Operations to perform:
Synchronize unmigrated apps: messages, staticfiles
Apply all migrations: admin, auth, contenttypes, sessions
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Running migrations:
Applying contenttypes.0001_initial... OK
...
Applying sessions.0001_initial... OK
System check identified no issues (0 silenced).
test_equal_hard (polls.tests.TestHard) ... ok <--------+
test_equal_simple (polls.tests.TestSimple) ... ok <--------+
|
|
That's your tests! >----------------------------+
ところで、v
は冗長性を表します(--verbosity=2
も使用できます)。
python manage.py test --verbosity=2
python manage.py test --help
からの抜粋は次のとおりです。
-v {0,1,2,3}、-verbosity {0,1,2,3}
詳細レベル。 0 =最小出力、1 =通常出力、2 =詳細出力、3 =非常に詳細な出力
ナイジェルの答えは素晴らしく、間違いなくエントリーオプションに対する最も低い障壁です。ただし、canDjango_nose
を使用するとさらに優れたフィードバックが得られます(thatセットアップが困難ではありません;)。
以下は: Python with 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
を実行すると、素敵なコードカバレッジの概要と、reports/cover
のすてきなhtmlレポートが表示されます。