我通過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