Sin*_*eer 5 python testing code-coverage coverage.py pytest
我正在用来coverage.py测试我的代码覆盖率。然而,当我打电话时,我的测试正在通过
coverage run -- [script].py -m [test_script].py
Run Code Online (Sandbox Code Playgroud)
并生成一份报告,表明
<line hits="1" number="5"/>
<line hits="0" number="6"/>
<line hits="0" number="7"/>
<line hits="0" number="8"/>
Run Code Online (Sandbox Code Playgroud)
其中第5、6、7、8行如下:
def __init__(self, data):
self.left = None
self.right = None
self.data = data
Run Code Online (Sandbox Code Playgroud)
再举个例子:
我的测试代码:
def test_arb():
assert tree.inc(3) == 4
Run Code Online (Sandbox Code Playgroud)
功能
def inc(x):
return x+1
Run Code Online (Sandbox Code Playgroud)
以及报告上的结果
<line hits="1" number="48"/>
<line hits="0" number="49"/>
Run Code Online (Sandbox Code Playgroud)
我花了几天时间研究这个问题,但似乎找不到直接的答案。有人可以帮忙吗?这可能是一个显而易见的解决方案,但我是 Python 和测试的初学者。
小智 1
根据您的coverage命令,如果使用unittest模块,请确保您[test_script].py有
if __name__ == 'main':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
(或者 pytest 中的替代方案)
| 归档时间: |
|
| 查看次数: |
3828 次 |
| 最近记录: |