考虑以下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%的代码覆盖率 . 我的项目比这个样本大得多 . 我如何达到这个要求?
1 回答
它's pretty straight-forward. Damn I didn' t RTM . 为了做到这一点,有一个标志
--cover-inclusive
. 根据文件,"Include all python files under working directory in coverage report. Useful for discovering holes in test coverage if not all files are imported by the test suite. [NOSE_COVER_INCLUSIVE]"在这里如何使用它 .