레일 프로젝트에 나의 현재 루비 rcov (특히, relevance rcov를 통해 테스트를 수행, 우리는 우리가 < 95 %의 코드 커버리지가 있다면 우리가 빌드 실패 (꽤 높은 수준이)와.Rcov 범위 변경 크게 -xrefs
.우리는이를 테스트하려면 다음 명령을 사용 : 나는 rcov 보고서 홈 에버에서 녹색 (가진 실행)를 등록하는 몇 가지 코드를 발견
rcov_cmd = "rcov --rails --text-summary \
--include #{included_dirs} \
--exclude #{excluded_dirs} \
--aggregate #{coverage_dir}/coverage.data \
--output #{coverage_dir} \
오늘은 내가 인상 (이 코드 실행을받지 것을 증명할 수 함수의 시작 부분에서 예외가 발생하고 유닛 테스트가 통과 함)
나는 약간의 연구를했고 rcov에 대해 --xrefs 플래그를 발견했다. 이것은 rcov 보고서의 각 행에 대해 모든 호출자를 추가한다고 생각했다. (추가 --xrefs
플래그를 통지)
rcov_cmd = "rcov --rails --text-summary --xrefs \
--include #{included_dirs} \
--exclude #{excluded_dirs} \
--aggregate #{coverage_dir}/coverage.data \
--output #{coverage_dir} \
:
나는에 rcov 명령을 변경했습니다.추가 호출 사이트 정보 대신, 필자는 테스트 범위를 96 %에서 48 %로 변경했습니다.
--xrefs는 rcov가 수행하는 분석의 종류를 변경합니까? (나는 그것이 단지 콜 사이트 정보를 수집 할 것이라고 생각했다). 첫 번째 명령과 어떻게 다릅니 까? 는 (실패한 단위 테스트가 있다면 내가 단위 테스트 범위 드롭을 보았다, 나는 실행에 오류가 있는지 커버리지 비율이 떨어질 수 있다는 것을 알고 있지만, 나에게 좋아 보인다) rcov manual에서
'--callsites'와'--xrefs'를 사용하여 실제로 그 차이를 일으키는 호출 정보가 포함되어 있는지 확인한 적이 있습니까? 문제를 조금 좁힐 수 있습니다. – Shadwell
--xrefs와 --callsites를 바꿔서 테스트 커버리지에서 같은 하락을 보았습니다. – RyanWilcox