拡張機能を使用nosetests
して、coverage
単体テストのカバレッジを測定しています。
最近six
、ユーザーにとって使いやすいように、パッケージにモジュールを含めることにしました。
問題は、six
ローカルに持っていると、カバレッジ レポートが台無しになるように見えることです。
私は次のようにテストを実行します:
nosetests --cover-erase --with-coverage --cover-html --cover-package seaborn
レポートには、ディレクトリ ツリーにないファイルへの参照が含まれてしまいます。
Name Stmts Miss Cover Missing
-----------------------------------------------------
ConfigParser 391 391 0% 90-753
HTMLParser 306 306 0% 11-472
Queue 125 125 0% 3-244
copy_reg 105 105 0% 7-188
htmlentitydefs 9 9 0% 4-273
httplib 704 704 0% 69-1342
repr 103 103 0% 3-132
seaborn 9 0 100%
<...>
問題を引き起こしていると思う理由six
は、それらの名前を検索すると、次の場所にのみ表示されるためsix.py
です。
$ git grep ConfigParser
seaborn/external/six.py: MovedModule("configparser", "ConfigParser"),
$ git grep copy_reg
seaborn/external/six.py: MovedModule("copyreg", "copy_reg"),
コードのどの時点でも、*
6 からインポートすることはありません。すべてのインポートは固有のものです。from .external.six.moves import range
これらのオブジェクト/ファイルをカバレッジ レポートから除外するにはどうすればよいですか?
私は(の下)に追加しようとしましたがomit = seaborn/external
、.coveragerc
それはファイルをレポートから[run]
除外しますが、定義していると思われる名前は除外します。seaborn/external
six