Pytest 2.5.2 覆盖率报告缺失已处理的行
我有一个小项目,使用Python编写,我想生成代码覆盖率报告。当我运行
py.test -x -s MYPACKAGE --cov-report html --cov MYPACKAGE
时,它显示有很多行没有被覆盖。主要是一些导入语句和类/方法的定义。
我确定这些行在我的单元测试中都是被处理过的,行19和31-35就能证明这一点。
为什么py.test
会把所有的定义标记为“缺失”?
2 个回答
3
为什么py.test把所有的定义都标记为“缺失”?
覆盖率报告是正确的,因为所有这些代码行在测试真正开始之前就已经被导入了。
我确定这些代码行在我的单元测试中都被处理了,行19和31-35就是证明。
所有的一流对象在加载时都会被评估,包括导入的内容、全局变量、函数定义及其参数,还有类定义及其方法、属性和参数。
行19和31-35确实是在单元测试中被处理的,但这并不意味着其他的行也被处理了。