coverage.py将在其报告中包含init.py,并显示为0行,但覆盖率为100%。我想从覆盖报告中排除所有空白文件。我不能只是将*/__init__.py添加到omit,因为我的一些__init__.py文件有代码。
*/__init__.py
omit
__init__.py
lb3vh1jj1#
从docs和docs:“5.0版新增功能:contexts和skip_empty参数。”在tox.ini文件或.coveragerc文件中添加以下内容:
contexts
skip_empty
tox.ini
.coveragerc
[coverage:report] skip_empty = true
如果skip_empty为true,则不报告空文件(没有语句的文件)。“skip_empty(boolean,default False):不要在报告中包含空文件(包含0条语句的文件)。有关详细信息,请参阅承保范围摘要。”
flvtvl502#
coverage.py中不存在此功能。你可以对HTML报告进行排序,将100%的文件移到底部,或者将0语句的文件移到底部,这有帮助吗?更新:从coverage.py 4.0开始,--skip-covered选项可用于执行所请求的操作。
--skip-covered
j1dl9f463#
你可以这样设置.coveragerc文件:
[run] omit = test/* \ *\__init__.py
或
[run] omit = com*\__init__.py \ test/*
似乎省略不允许模式以星号(*)开头
9avjhtql4#
我这样设置pyproject.toml:
[tool.coverage] [tool.coverage.run] omit = [ # omit anything in a .local directory anywhere '*/.local/*', '__init__.py', 'tests/*', '*/tests/*', # omit anything in a .venv directory anywhere '.venv/*' ] [tool.coverage.report] skip_empty = true
zkure5ic5#
coverage report现在支持--skip-empty指令,这将方便地忽略那些空的__init__.py文件,同时继续包含任何有内容的文件!改编自文档
coverage report
--skip-empty
https://coverage.readthedocs.io/en/stable/cmd.html#coverage-summary自coverage 5.0起,通过GitHub PR 864提供此功能
nnt7mjpx6#
要排除所有空文件,即没有任何语句的文件,因此100%覆盖,您可以用途:
$ coverage report | grep -v " 0 0 0 0 100%"
不幸的是,这并没有将这些文件从覆盖率html报告中排除,而且比简单的选项更麻烦。
6条答案
按热度按时间lb3vh1jj1#
从docs和docs:“5.0版新增功能:
contexts
和skip_empty
参数。”在tox.ini
文件或.coveragerc
文件中添加以下内容:如果skip_empty为true,则不报告空文件(没有语句的文件)。
“skip_empty(boolean,default False):不要在报告中包含空文件(包含0条语句的文件)。有关详细信息,请参阅承保范围摘要。”
flvtvl502#
coverage.py中不存在此功能。你可以对HTML报告进行排序,将100%的文件移到底部,或者将0语句的文件移到底部,这有帮助吗?
更新:从coverage.py 4.0开始,
--skip-covered
选项可用于执行所请求的操作。j1dl9f463#
你可以这样设置.coveragerc文件:
或
似乎省略不允许模式以星号(*)开头
9avjhtql4#
我这样设置pyproject.toml:
zkure5ic5#
coverage report
现在支持--skip-empty
指令,这将方便地忽略那些空的__init__.py
文件,同时继续包含任何有内容的文件!改编自文档
--skip-empty
跳过任何没有可执行语句的文件--skip-covered
跳过任何覆盖率为100%的文件https://coverage.readthedocs.io/en/stable/cmd.html#coverage-summary
自coverage 5.0起,通过GitHub PR 864提供此功能
nnt7mjpx6#
要排除所有空文件,即没有任何语句的文件,因此100%覆盖,您可以用途:
不幸的是,这并没有将这些文件从覆盖率html报告中排除,而且比简单的选项更麻烦。