Python覆盖范围-不覆盖函数内容,仅定义

时间:2018-09-29 11:39:52

标签: python testing code-coverage pytest coverage.py

我正在使用coverage.py测试我的代码覆盖率。但是,当我致电

时,我的测试通过了
coverage run -- [script].py -m [test_script].py

并生成一个报告,指出

<line hits="1" number="5"/>
<line hits="0" number="6"/>
<line hits="0" number="7"/>
<line hits="0" number="8"/>

第5、6、7和8行如下:

def __init__(self, data):
        self.left = None
        self.right = None
        self.data = data

例如:

我的测试代码:

def test_arb():
assert tree.inc(3) == 4

功能

def inc(x):
    return x+1

以及报告中的结果

<line hits="1" number="48"/>
<line hits="0" number="49"/>

我花了几天的时间对此进行研究,但似乎找不到简单的答案。有人可以帮忙吗?这可能是一个显而易见的解决方法,但我是Python和测试的初学者。

1 个答案:

答案 0 :(得分:0)

根据您的coverage命令, 如果使用 unittest 模块,请确保您的[test_script].py具有

if __name__ == 'main':
    unittest.main()

(或pytest中的替代方法)