为什么 Coverage.py 忽略没有覆盖的文件?

P.V*_*.V. 6 python coverage.py

我先跑

nosetests --with-coverage
Run Code Online (Sandbox Code Playgroud)

所以我应该有一个包含所有默认设置的 .coverage 文件。

在 folder_1 中,我有 file_1.py、file_2.py 和 file_3.py

当我 cd 进入 folder_1 并运行时

coverage report
Run Code Online (Sandbox Code Playgroud)

它输出:

在此处输入图片说明

它不会为 file_3.py 生成任何内容!但是当我运行时:

coverage report file_3.py
Run Code Online (Sandbox Code Playgroud)

它说:

在此处输入图片说明

它是否跳过报告中没有覆盖的文件?如何更改它以便报告显示每个 *.py 文件的结果?

Ned*_*der 5

您需要为coverage.py 指定一个源目录以查找根本没有执行过的文件。您可以--source=folder_1在命令行或[run] source=folder_1.coveragerc 文件中使用。

  • 您将代码的运行与代码的分析混淆了。您必须告诉覆盖范围要运行什么。一旦它运行了该文件,`--source=folder_1` 选项就会告诉它在查找尚未执行的代码时考虑 folder_1 中的所有 Python 文件。 (2认同)