我通过jenkins工作获得了我们的一些项目软件包,安装在venv
中。安装完成后,作业从单独的存储库中提取一些单元测试,并根据已安装的软件包运行它们。运行nose2覆盖已安装的软件包
我的问题是coverage
只涵盖测试脚本,但不包括已安装的软件包。
这里的文件夹结构:
JenkinsWorkspace
|_Venv
|_MyProject
|_trunk
|_Python
|_Package1
|_Package2
|_temp_tests
|_test_suite1.py
|_...
因此,对于进一步的解释,我遍历包在MyProject
,结账为每一个测试到temp_tests
,cd
在temp_tests
并呼吁nose2 -t ..\..\..\Venv\Lib\site-packages
我想-t
param将设置顶级目录,并使用安装在那里的东西。是的,测试成功运行。但coverage
只涵盖了测试套件本身。 有没有办法告诉鼻子做安装包的覆盖范围?
为了完整这里我unittest.cfg
:
[coverage]
coverage-report = term-missing
always-on = True
coverage-config = .coveragerc
[junit-xml]
always-on = True
keep_restricted = False
path = nose2-junit.xml
test_fullname = False
和.coveragerc
:
# .coveragerc
[run]
branch = True
[report]
show_missing = True
omit =
build/*
tests/*
setup.py
*/__init__.py
请注意,这只是一个猜测,因为我没有nose2和Linux准备马上。让我知道它是如何工作的。 – yacc