在python nosetests覆盖率报告中显示没有单元测试的文件

时间:2017-07-04 12:56:50

标签: python unit-testing code-coverage nose coverage.py

考虑以下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 个答案:

答案 0 :(得分:1)

这很直截了当。该死的我没有RTM。为了做到这一点,有一个标志--cover-inclusive。根据文档,"在coverage报告中包含工作目录下的所有python文件。如果测试套件未导入所有文件,则可用于发现测试覆盖中的漏洞。 [NOSE_COVER_INCLUSIVE]"

在这里如何使用它。

nosetests --with-coverage --cover-erase --cover-inclusive --cover-html