我使用pytest和pytest-cov进行代码覆盖。
我的项目如下所示。有两个模块services和workers。
python_tmp
├── tests
│ └── some_test.py
├── services
│ └── utils.py
└── workers
└── utils.py他们两个里面都有utils.py。但是内容是不同的。
services/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>如何修复它?耽误您时间,实在对不起!
发布于 2021-01-11 18:51:53
https://stackoverflow.com/questions/65664458
复制相似问题