如何排除Python multimu覆盖范围内的目录

2024-04-19 20:50:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个项目,其目录结构如下所示

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*

但它仍然试图获取模块2进行测试。你知道吗

我错过了什么?你知道吗


Tags: 模块项目runtestsrc目录branchcoverage
1条回答
网友
1楼 · 发布于 2024-04-19 20:50:54

我刚刚尝试了我的情况,最终这有帮助,这是我目前的项目(三个模块):

[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

相关问题 更多 >