2015-02-09 103 views
0

我是使用coverage.py的新手。我使用coverage run unit_tests.py执行了我的测试。然后我用coverage report其生成以下覆盖面汇总:从Python中的覆盖范围中排除单元测试

Name   Stmts Miss Cover 
-------------------------------- 
cardnames  28  0 100% 
dominion  458 210 54% 
unit_tests  181  0 100% 
-------------------------------- 
TOTAL   667 210 69% 

除了包括cardnames.pydominion.py这我想里面unit_tests.py测试,覆盖报告还包括unit_tests.py文件本身。 (在覆盖计算中)。我如何从报告中排除此文件?

+0

您的项目如何安排?这三个文件都在同一个文件夹中吗?你有没有尝试明确排除测试? – jonrsharpe 2015-02-09 08:40:49

+0

是的所有3个文件都在同一个文件夹中。 (所有3个文件) – 2015-02-09 10:40:08

+1

您可以考虑重新构建项目,以使测试位于单独的文件夹中。这使得开发,测试和分发变得更容易。见例如http://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/ – jonrsharpe 2015-02-09 10:43:27

回答

0

从他们documentation

您可以进一步微调coverage.py的与--include和--omit开关注意力(或[运行]包括与[运行]省略的配置值)。 --include是文件名模式的列表。如果指定,只会测量符合这些模式的文件。 --omit也是文件名模式的列表,指定文件不要测量。

因此,从臀部开始编写脚本,其语法与coverage run --source=<files to be included> --omit=unit_tests.py unit_tests.py类似。

+0

好的这类作品。我在参数周围乱了一下以得到一个工作命令: 覆盖运行--omit unit_tests.py unit_tests.py – 2015-02-09 10:43:17

+0

好极了!我会更新我的答案。 – Tom 2015-02-09 11:13:55

相关问题