2011-09-02 6 views
4

이전에 테스트하지 않은 코드에 단위 테스트를 추가합니다. 코드를 수정해야 할 필요가 있습니다. 모든 패키지의 대부분의 코드가 테스트되지 않았으므로 유용한 coverage 메트릭을 얻는 것은 어렵습니다.차동 코드 범위

코드 범위를 측정 할 수있는 도구가 있습니까? 즉, 단위 테스트에서 다루는 특정 변경 집합에서 수정 된 코드의 비율입니까?

+0

for .net nover의 xml 출력을 비교하는 NCoverCop http://sourceforge.net/projects/ncovercop/을 사용했습니다. 아마도 그것은 당신의 자바 출력에 맞춰질 수 있거나 거기 자바 동등한 것이 있습니다. –

답변

1

Jenkins와 같은 지속적인 통합 도구를 사용하면 테스트 적용 범위의 기록을 유지하고 이전 빌드와 비교 한 적용 범위 추세가 포함 된 그래프를 표시 할 수 있습니다. 예 : Cobertura Jenkins Plugin

+2

우리는 Cobertura와 Jenkins를 사용하고 있습니다. 그러나 새로운/변경된 코드 (즉, 모든 코드의 1 %와 비교하여 델타 코드의 80 %)에 대한 적용 범위를보고 싶습니다. 개개의 패키지/클래스를 파고들 수있는 것은 수정 된 패키지/클래스를 아는 경우에만 도움이됩니다. –

0

전체 응용 프로그램의 품질과 적용 범위를 분석하는 훌륭한 도구 인 Sonar를 살펴보십시오.

2

pycobertura을 사용하십시오. 두 가지 적용 범위 보고서를 비교하여 코드 커버리지 회귀를 방지하는 명령 줄 도구입니다. 새 코드가 이전 버전보다 더 좋거나 나쁘지는 알려줍니다.

$ pycobertura diff ./master/coverage.xml ./myfeature/coverage.xml 

테스트/범위 도구로 생성 된 Cobertura 보고서 (XML 파일)에 의존하기 때문에 언어에 구애받지 않습니다.

또한 Pycobertura는 Jenkins와 같은 CI/CD 도구에 알맞은 HTML 보고서를 생성 할 수 있습니다.

enter image description here

https://github.com/SurveyMonkey/pycobertura

0

최근 JaCoCo 및 코드 분석을위한 ConQAT 프레임 워크를 사용하여, 정확하게했다.

  1. 로드베이스 라인 버전의 소스 코드와 헤드 버전 (그리고 잠재적으로 중간 사람을-사이에서 당신은 또한 테스트를 수행 한 경우)
  2. 이 방법으로 프로그램 기록 방법을 비교하여 다음과 같이 접근 방식은
  3. 알들이 지난

을 변경하기 때문에 포함되지 않은 방법에 대한

  • 검색이 변화가 각 시험 개정
  • 주석 범위 정보를 발생 위치를 확인하는 따라서 시각화를 비롯한보다 자세한 설명과 리팩터링 탐지와 같은 고급 주제가 포함 된 blog post은 테스트 가치가있는 변경 사항 만 식별합니다.