考虑以下python项目结构。
Car.py
test_car.py
Van.py
__main__.py
当我用鼻子运行代码覆盖时它只考虑写入单元测试的文件(即Car.py有一个单元测试test_car.py)。我使用以下命令生成报告。
nosetests --with-coverage --cover-erase --cover-html
它会生成以下报道。
.
Name Stmts Miss Cover
----------------------------
Car.py 11 3 73%
----------------------------------------------------------------------
Ran 1 test in 0.007s
OK
但我的项目有更多文件(Van.py)。但覆盖率报告不包含这些文件,最终覆盖率不包括这些文件。如果该报告考虑了所有文件,那么最终的百分比将低于73%。
如何通过考虑所有文件生成覆盖率报告。没有单元测试的文件应该在报告中显示0%的代码覆盖率。我的项目比这个样本大得多。我如何实现这一要求?
答案 0 :(得分:1)
这很直截了当。该死的我没有RTM。为了做到这一点,有一个标志--cover-inclusive
。根据文档,"在coverage报告中包含工作目录下的所有python文件。如果测试套件未导入所有文件,则可用于发现测试覆盖中的漏洞。 [NOSE_COVER_INCLUSIVE]"
在这里如何使用它。
nosetests --with-coverage --cover-erase --cover-inclusive --cover-html