から、実行中のカバレッジ対coverage.pyからテストを実行し、ブライアンとネッドは簡単に実行coverage.py
からテストを実行することが好ましいことを、あなたはカバレッジテストを実行する必要がある場合、議論カバレッジのあるテストランナーを呼び出すのではなく、coverage run
です。それはなぜですか?その違いは何ですか?このにいくつかのコンテキストを入れて<a href="http://pythontesting.net/podcast/coverage-ned-batchelder/" rel="nofollow">Coverage.py with Ned Batchelder</a>のpython &テストポッドキャストの間、テストランナー
:現在、私はnose
テストランナーを使用して--with-coverage
optionとnosetests
コマンドラインツールの助けを借りてテストを実行しています:
$ nosetests --with-coverage --cover-html
私は経由でそれを行う必要があります代わりにcoverage run -m
?
$ coverage run -m nose
$ coverage report
これが正しいかどうかわかりません(私は答えとして投稿していません)。しかし、あなたが直接カバレッジを使用すると、カバレッジと鼻が関係していると思いますプラグインの追加の依存関係はありません。結合が少なくて済み、追跡するバージョンが1つ少なくなります。 – mwchase
"カバレッジのあるテストランナーを呼び出す" - あなたが話しているテストランナーについては明言していない(そして、ポッドキャストにも載っていないかもしれない - 私はそれには載っていない)。テストランナーの場合は、テストランナーが正しい時間にカバレッジマシンを起動するように(たとえばテストするものをインポートする前に)信頼していると思います。カバレッジを直接呼び出すと、すべてがカバレッジからカバレッジを使用するように設定されていることがわかり、すべての行が必要に応じて追跡されます。 – mgilson