首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当文件具有相同的名称时,Python代码覆盖率丢失

当文件具有相同的名称时,Python代码覆盖率丢失
EN

Stack Overflow用户
提问于 2021-01-11 17:45:14
回答 1查看 279关注 0票数 2

我使用pytest和pytest-cov进行代码覆盖。

我的项目如下所示。有两个模块servicesworkers

代码语言:javascript
运行
复制
python_tmp
├── tests
│   └── some_test.py
├── services
│   └── utils.py
└── workers
    └── utils.py

他们两个里面都有utils.py。但是内容是不同的。

services/utils.py

代码语言:javascript
运行
复制
def function_1():
    return 1

和worker/utils.py

代码语言:javascript
运行
复制
def function_2():
    return 2

tests/some_test.py中,您可以找到测试用例。

代码语言:javascript
运行
复制
import pytest
import services.utils as t1
import workers.utils as t2

def test_function_1():
    res = t1.function_1()
    assert res == 1

def test_function_2():
    res = t2.function_2()
    assert res == 2

如果我运行测试python -m pytest -v tests --cov=services --cov=workers --cov-report=xml:coverage.xml,它将生成以下报告。但是您可以看到只报告了一个utils.py,并且存在不明确的地方,即您不知道它属于哪个模块。

代码语言:javascript
运行
复制
...
    <sources>
        <source>/Users/xxxxxxx/workspace/tmp/python_tmp/services</source>
        <source>/Users/xxxxxxx/workspace/tmp/python_tmp/workers</source>
    </sources>
    <packages>
        <package branch-rate="0" complexity="0" line-rate="1" name=".">
            <classes>
                <class branch-rate="0" complexity="0" filename="utils.py" line-rate="1" name="utils.py">
                    <methods/>
                    <lines>
                        <line hits="1" number="1"/>
                        <line hits="1" number="2"/>
                    </lines>
                </class>
            </classes>
        </package>
    </packages>
</coverage>

如何修复它?耽误您时间,实在对不起!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-11 18:51:53

此问题在here中提到

因此,要修复此问题,您可以运行python -m pytest -v tests --cov --cov-report=xml:coverage.xml

希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65664458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档