拡張機能を使用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/externalsix