2

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

4

1 に答える 1

0

代わりにこれを .coveragerc に入れてください。

[run]
include = seaborn/*

構成のドキュメント - http://nedbatchelder.com/code/coverage/config.html#config

于 2014-03-10T22:59:05.117 に答える