我的项目的目录结构如下所示
ProjectRoot
- Module1
src/
tests/
- Module2
src/
tests/
...
我想从根目录运行所有测试并计算覆盖率。这是我正在使用的命令
python -m coverage run --branch -m unittest **/tests/test*
在这里,我想排除某些目录。我怎样才能做到这一点?
我尝试了一种创建 .coveragerc
的方法并添加了要排除的模块
...
omit =
Module2/*
...
并将此文件提供给命令 python -m coverage run --rcfile=.coveragerc --branch -m unittest **/tests/test*
但它仍然尝试选取 Module2 进行测试。
我错过了什么?
我刚刚尝试过我的案例,最终这有所帮助,这是我当前的项目(三个模块):
[report]
exclude_lines =
pragma: no cover
include =
../toolbox/*.py
../geometry_finder/*.py
../position_optimiser/*.py
[html]
directory = c:\tmp\Report
我现在尝试了以下方法:
[report]
exclude_lines =
pragma: no cover
include =
../.
omit =
../toolbox/*.py
[html]
directory = c:\tmp\Report
...而且我没有看到工具箱的覆盖范围。因此我无法真正确认。代码开始使用:
coverage run --branch .\unittest_package.py
coverage html
我是一名优秀的程序员,十分优秀!