EclEmma 커버리지 툴에 대한 질문이 있습니다EclEmma 커버리지 툴은 노드 또는 에지 또는 조건 또는 경로 커버리지를 수행합니까?
EclEmma 커버리지 툴은 노드, 에지 또는 조건 또는 경로 을 수행합니까?
당신에게EclEmma 커버리지 툴에 대한 질문이 있습니다EclEmma 커버리지 툴은 노드 또는 에지 또는 조건 또는 경로 커버리지를 수행합니까?
EclEmma 커버리지 툴은 노드, 에지 또는 조건 또는 경로 을 수행합니까?
당신에게EclEmma 감사한다고 설명 - 자바 코드 커버리지 라이브러리에 기반한 이클립스 플러그인 자바 바이트 코드의 분석을 수행 JaCoCo라고합니다. JaCoCo can be found in its documentation에서 제공하는 적용 범위 카운터에 대한 설명. 당신은에서 볼 수 있듯이 - JaCoCo 따라서 EclEmma는
커버리지, 그리고 당신이 가장자리 커버리지라고 부르는 것이 지점 커버리지라고 생각합니다. 조건 범위에 관한
if (a && b) { /* ... */ }
조건 범위는 두 개의 테스트
a=true, b=false
에 의해 만족 될 수&&
이 단기 인 자바의 경우는 조금 이상한 보이는a=false, b=true
회로 연산자 - 두 번째 테스트는 "b"의 값 검색을 트리거 할 수 없습니다. 경로 따르면 대하여
- 다음의 예를 이용하여 증명 될 수있는 JaCoCo가 제공되지 않는다 :
void fun(boolean a, boolean b) {
if (a) { /* ... */ }
if (b) { /* ... */ }
}
계산하지 예외 이러한 방법을 통해 4 개 경로가있다. 따라서 전체 경로를 커버하기 위해서는 a = true, b = true
, a = true, b = false
, a = false, b = true
및 a = false, b = false
의 4 가지 테스트가 필요합니다. 그러나 JaCoCo와 EclEmma는 단지 2 번의 테스트 후 100 % 적용 범위를보고합니다. a = true, b = true
및 a = false, b = false
.