2014-06-23 1 views
0

저는 클로버와 함께 프로젝트에 코드 커버리지 분석을 실행했는데 그 결과는 약 60 %입니다. Jacoco와 같은 프로젝트에서 분석을 실시한 결과 약 52 %입니다. 8 %의 차이가 정상입니까? 나는 과거에도 이러한 도구를 사용하여 코드 커버 리지 분석을 실행 해 왔지만 그 차이는 결코 큰 것이 아닙니다.클로버와 Jacoco는 서로 다른 코드 커버리지 결과를 제공합니다

답변

3

클로버와 JaCoCo 다른 코드 커버리지 측정을 사용하고 있습니다 :

  • 클로버가
  • JaCoCo이있다 (세 가지의 합이 플러스 전체 범위의 측정) 방법, 성명 및 지점 범위 방법, 코드 블록, 라인, 분기 및 명령어 커버리지

따라서 두 도구에서 생성 된 결과 사이에 등호를 삽입 할 수 없습니다. 가장 차이가 큰 부분과 옆에있는 코드 구조를 비교하여보고 차이점을 발견 할 수 있도록 보고서를 나란히 검사하는 것이 좋습니다.

오. 그건 그렇고. JaCoCo는 바이트 코드 계측을 사용합니다. 즉, javac 컴파일러로 작성되고 소스 코드에 표시되지 않는 합성 메소드를 계측합니다.

+1

JaCoCo는 합성 방법을 사용하지 않습니다. 기술적으로 합성이 아닌 암시 적 no-args 생성자를 제외하고는이를 감지하고 무시합니다. 또한 JaCoCo는 진술과 지점 커버리지 만 가지고 있습니다 (http://eclemma.org/jacoco/trunk/doc/counters.html 참조). 나머지 (선, 코드 블록, 메소드)는 파생 메트릭입니다. –