Python 覆盖范围:不包括文件
Python coverage: excluding files
我在虚拟环境中使用 unittest2 和 coverage,该虚拟环境也包含我的项目。
当我 运行 coverage report -m
时,报告显示来自 lib/python3.5/site-packages/.[= 的其他几个文件19=]
因为有几个文件要排除,所以每次我想 运行 测试并查看覆盖率报告时都尝试从命令行中排除它们是很乏味的。这就是我选择依赖配置文件的原因。
documentation says I should do so in the .coveragerc file. However I can not see it. When I run pip show coverage
and then ls -a path_to_coverage_directory
I see config.py
file instead. So excluded one file from testing and reporting from it by looking where is the option --omit
and changed it 来自:
self._omit = None
至:
self._omit = ['/home/begueradj/development/app/lib/python3.5/site-packages/unittest2/case.py']
我保存了配置文件和运行再次测试和覆盖率报告:我看到这个文件没有被排除。
我错过了什么?你如何解决这个问题?
.coveragerc
是项目本地目录中的一个文件,指示覆盖应如何处理该特定代码集。你应该有如下内容:
myproject/
- mycodefile1.py
- mycodefile2.py
- ...
- .coveragerc
其中 .coveragerc
位于您执行 coverage
和 unittest
的目录中。它包含以下内容:
[run]
omit =
case.py
或者类似的东西:
[run]
source = mycodefile*.py
您可以组合使用 source
和 omit
以包含整个代码目录,同时排除这些目录中的特定文件。一切都取决于您的代码布局到底是什么样子。 how you can specify code files.
见此处
我在虚拟环境中使用 unittest2 和 coverage,该虚拟环境也包含我的项目。
当我 运行 coverage report -m
时,报告显示来自 lib/python3.5/site-packages/.[= 的其他几个文件19=]
因为有几个文件要排除,所以每次我想 运行 测试并查看覆盖率报告时都尝试从命令行中排除它们是很乏味的。这就是我选择依赖配置文件的原因。
documentation says I should do so in the .coveragerc file. However I can not see it. When I run pip show coverage
and then ls -a path_to_coverage_directory
I see config.py
file instead. So excluded one file from testing and reporting from it by looking where is the option --omit
and changed it 来自:
self._omit = None
至:
self._omit = ['/home/begueradj/development/app/lib/python3.5/site-packages/unittest2/case.py']
我保存了配置文件和运行再次测试和覆盖率报告:我看到这个文件没有被排除。
我错过了什么?你如何解决这个问题?
.coveragerc
是项目本地目录中的一个文件,指示覆盖应如何处理该特定代码集。你应该有如下内容:
myproject/
- mycodefile1.py
- mycodefile2.py
- ...
- .coveragerc
其中 .coveragerc
位于您执行 coverage
和 unittest
的目录中。它包含以下内容:
[run]
omit =
case.py
或者类似的东西:
[run]
source = mycodefile*.py
您可以组合使用 source
和 omit
以包含整个代码目录,同时排除这些目录中的特定文件。一切都取决于您的代码布局到底是什么样子。 how you can specify code files.