gpt4 book ai didi

文件同名时缺少 Python 代码覆盖率

转载 作者:行者123 更新时间:2023-12-04 08:16:56 25 4
gpt4 key购买 nike

我正在使用 pytest 和 pytest-cov 进行代码覆盖。
我的项目如下所示。有两个模块servicesworkers .

python_tmp
├── tests
│   └── some_test.py
├── services
│   └── utils.py
└── workers
└── utils.py
他们都有 utils.py里面。但内容不同。
服务/utils.py
def function_1():
return 1
和 worker /utils.py
def function_2():
return 2
tests/some_test.py你可以找到测试用例。
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被报告了,并且有歧义你不知道它属于哪个模块。
...
<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>
如何解决?谢谢你的时间!

最佳答案

提到了这个问题here
因此,要解决此问题,您可以运行 python -m pytest -v tests --cov --cov-report=xml:coverage.xml .
希望这会有所帮助。

关于文件同名时缺少 Python 代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65664458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com