coverage.py:排除文件

发布于 2024-08-07 08:25:27 字数 166 浏览 6 评论 0原文

如何从 coverage.py 报告中排除整个文件?

根据文档,您可以通过匹配行来排除代码。我想排除整个文件,以便报告不包含第三方库。我错过了什么吗?能做到吗?

How do I exclude entire files from coverage.py reports?

According to the documentation you can exclude code by matching lines. I want to exclude entire files, so that the reports don't include 3rd party libraries. Am I missing something? Can it be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

窗影残 2024-08-14 08:25:27

您可以使用 --omit 标志省略模块。它采用逗号分隔的路径前缀列表。例如:

coverage run my_program.py
coverage report --omit=path/to/3rdparty

You can omit modules with the --omit flag. It takes a comma-separated list of path prefixes. So for example:

coverage run my_program.py
coverage report --omit=path/to/3rdparty
流云如水 2024-08-14 08:25:27

除了其他答案中的选项之外,您还可以通过 setup.cfg 配置忽略的文件:

[coverage:run]
omit =
    some/directory/*
    debug_*.py

请参阅文档 了解详细信息。

In addition to the options in the other answers, you can also configure the ignored files via setup.cfg:

[coverage:run]
omit =
    some/directory/*
    debug_*.py

See the documentation for details.

飘过的浮云 2024-08-14 08:25:27

使用覆盖 API 省略一些文件对我有用。
嗯,这与内德的建议是一样的。

这就是我的做法:

cov =coverage.coverage(omit='/usr/lib/python2.6/site-packages/*')

Omitting some files worked for me using coverage API.
Well it is the same kind what Ned suggested.

Here it is how I did it:

cov = coverage.coverage(omit='/usr/lib/python2.6/site-packages/*')

时光磨忆 2024-08-14 08:25:27

使用 pyproject.toml

[tool.coverage.run]
omit = [
    "some/directory/*",
    "other/lib.py"
]

With pyproject.toml

[tool.coverage.run]
omit = [
    "some/directory/*",
    "other/lib.py"
]
江南月 2024-08-14 08:25:27

创建一个新文件 .coveragerc 并添加以下行

[run]
branch = True
omit =
    directory/*

Create a new file .coveragerc and add the following lines

[run]
branch = True
omit =
    directory/*
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文