coverage.py:排除文件

67 投票
5 回答
45482 浏览
提问于 2025-04-15 15:02

我该怎么做才能让 coverage.py 的报告不包含某些文件呢?

根据说明文档,你可以通过匹配代码行来排除某些代码。我想排除整个文件,这样报告就不会包括第三方库的内容。我是不是漏掉了什么?这样做可以吗?

5 个回答

15

我在使用覆盖率API的时候,省略了一些文件,这样做对我有效。

这其实和Ned建议的做法是一样的。

下面是我具体是怎么做的:

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

34

除了其他回答中提到的选项,你还可以通过 setup.cfg 文件来设置需要忽略的文件:

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

详细信息请查看 文档

76

你可以使用 --omit 这个选项来省略一些模块。这个选项后面需要跟一个用逗号分隔的路径前缀列表。比如说:

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

撰写回答