Python 如何使用setup.cfg正确限制nosetest中的XOverage包覆盖率?
我对它进行了配置,使我的简单单元测试通过。但是nosexunit.xml正在报告测试库文件。部分输出:Python 如何使用setup.cfg正确限制nosetest中的XOverage包覆盖率?,python,code-coverage,nosetests,Python,Code Coverage,Nosetests,我对它进行了配置,使我的简单单元测试通过。但是nosexunit.xml正在报告测试库文件。部分输出: nosexcover-1.0.7-py2.6.egg/nosexcover/nosexcover 25 24 4% 5-41, 46-56 test/unit/test_setup 13 0 100% 该项目分为不同的模块,需要单独测试。我目前主要关注后端模块。我想限制lib包的覆盖范
nosexcover-1.0.7-py2.6.egg/nosexcover/nosexcover 25 24 4% 5-41, 46-56
test/unit/test_setup 13 0 100%
该项目分为不同的模块,需要单独测试。我目前主要关注后端模块。我想限制lib包的覆盖范围。项目树的示例:
project
\-- backend # <-- module I'm testing
\-- lib # <-- what I want to cover
\-- test
\-- unit/test_setup.py # <-- test I'm running
\-- setup.py
\-- setup.cfg
\--reporting
\-- setup.py
\-- setup.cfg
Nosetests在setup.cfg中配置如下
[nosetests]
# locating tests
where=./test
include=^unit.*
# coverage
cover-package=lib
cover-html=1
cover-html-dir=htmlcov
with-xcoverage=1
xcoverage-file=coverage.xml
with-xunit=1
xunit-file=nosexunit.xml
cover-erase=1
我感觉其中一个路径设置关闭了。我假设where
和cover package
设置与setup.py
(也是我运行测试的地方)的位置相关,include
与where
相关
鼻测试文档并没有多大帮助。我希望有人能帮我澄清一下。事实证明,我的配置是正确的。问题似乎是,对于我过于简化的冒烟测试,我实际上没有从我限制覆盖的模块导入任何内容 显然,在这种情况下,当覆盖率为零,而不是报告那个无聊的事实时,nosexcoverage或nosetests决定给你一个关于其他一些东西的覆盖率报告 通过为我想要涵盖的模块添加导入声明,我得到了正确的覆盖率报告:
----------------------------------------------------------------------
XML: nosexunit.xml
Name Stmts Miss Cover Missing
-----------------------------------------
lib 0 0 100%
lib.blank 1 0 100%
-----------------------------------------
TOTAL 1 0 100%
----------------------------------------------------------------------
Ran 2 tests in 0.008s
----------------------------------------------------------------------
XML: nosexunit.xml
Name Stmts Miss Cover Missing
-----------------------------------------
lib 0 0 100%
lib.blank 1 0 100%
-----------------------------------------
TOTAL 1 0 100%
----------------------------------------------------------------------
Ran 2 tests in 0.008s