누락 된 행과 분기를보고하는 테스트를 얻으려고합니다. 나는 nose2와 coverage를 설정하여 회선과 분기 커버리지를 생성하고, 내가 누락 된 회선과 분기를 제공하도록 올바르게 커버리지 설정을 설정했다고 말할 수있다. 그러나 nose2에서 실행할 때 누락 열을 제공 할 수있는 범위를 얻을 수 없지만 직접 실행하면 할 수 있습니다.nose2에서 누락 된 행 및 분기를 가져올 수 없습니다.
내 프로젝트 디렉토리에서 다음 설정을 고려하십시오. .coveragerc의
my_module/
__init__.py
main.py
tests/
test_a_thing.py
unittest.cfg
.coveragerc
내용에서 볼 수 있듯이 내 nose2 명령
(example_venv) [email protected][11:30:53]:/space/test_example$ python -m nose2 -c unittest.cfg --no-user-config
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
----------- coverage: platform linux, python 3.5.2-final-0 -----------
Name Stmts Miss Branch BrPart Cover
---------------------------------------------------------
my_module/__init__.py 0 0 0 0 100%
my_module/main.py 4 1 2 1 67%
---------------------------------------------------------
TOTAL 4 1 2 1 67%
의 unittest.cfg
[coverage]
always-on = True
coverage = my_module
coverage-config = .coveragerc
출력의
[run]
branch = True
[report]
show_missing = True
내용이있다 내게 주어진 Branch
cov 그 누락 된 가지들을 말하지 않았어.
단순히 (콧물 후에 남겨진 생성 .coverage
파일) coverage report
을 실행하면
(example_venv) [email protected][11:34:15]:/space/test_example$ coverage report
Name Stmts Miss Branch BrPart Cover Missing
-------------------------------------------------------------------
my_module/__init__.py 0 0 0 0 100%
my_module/main.py 4 1 2 1 67% 3, 2->3
-------------------------------------------------------------------
TOTAL 4 1 2 1 67%
당신은 그 범위가 나에게 누락 된 지점을 부여하고있다 볼 수 있습니다.
nose
에서 실행할 때 다음 분기 커버리지 통계 보고서에서 사라지고, .coveragerc
에 [run]
섹션에서 branch = True
라인을 제거하는 경우 때문에 나는, nose2
에서 실행할 때 coverage
는 .coveragerc
을 따기 것을 알 수 있습니다. 내가 뭔가 특별한 누락
암은 나는 그것이 nose2
에서 실행되는 경우 coverage
에 전달하려면이 show_missing
설정을 얻기 위해 수행 했어야 해요? 닥터 - nose2
위한하여 unittest.cfg
에 [coverage]
섹션 (또는 다른 --config [CONFIG], -c [CONFIG]
파일)에 coverage-report = term-missing
을 추가 할 수있다;
버전
cov-core==1.15.0
coverage==4.3.4
nose2==0.6.5