저는 EclEmma를 사용하여 필자가 작성한 테스트 클래스 (JUnit 테스트)의 적용 범위를 테스트하고 있습니다. -ea
을 사용하여 Java에서 어설 션을 활성화했습니다. Java의 어설 션을 사용했던 커버 리지 테스트를 실행 한 후에 (실제로 테스트 코드가 아닌 실제 코드에서) 가지의 y
이 누락되었다고합니다. 모든 지점을 어떻게 커버 할 수 있습니까? 내가 뭘 잘못하고 있니?JUnit 및 EclEmma 테스트에서 분기가 누락되었습니다.
1
A
답변
2
어설 션을 사용하지 않도록 설정할 때 왜 더 낮은 적용 범위가 필요한지 묻고 싶습니다. 컴파일러가 어설 션을 위해 새 분기를 삽입하기 때문에 이런 현상이 발생합니다. 이 예제를 고려하십시오
assert x > 0;
컴파일러를
if (assertions are enabled) {
if (! x > 0)
throw new AssertionViolatedException()
}
}
이, 당신의 코드에 지점을 추가로 대략 대응하고 주장의 전원을 켤 때 그 중 어느 것도 실행되지 코드를 삽입합니다. 이는 커버리지 비율을 떨어 뜨릴 것이지만, 이것은 컴파일러가 생성 한 코드를 참조하기 때문에 커다란 문제는 아닙니다.
관련 문제
- 1. jacocoData가 EclEmma 및 AbstractTransactionalJUnit4SpringContextTests와 함께 누락되었습니다.
- 2. EclEMMA 플러그인으로 jUnit 커버리지 보고서 병합
- 3. JUnit 테스트에서 Javassist 사용
- 4. junit 테스트에서 오류가 발생했습니다.
- 5. JUNIT : Junit 테스트에서 내보낼 수있는 보고서를 생성합니다.
- 6. JUnit 테스트에서 SQLite 데이터베이스 잠금
- 7. Eclipse에서 Eclemma coverage보기가 표시되지 않습니다.
- 8. junit 테스트에서 Autowire가 작동하지 않습니다.
- 9. JUnit 테스트에서 POP3 계정에 액세스
- 10. Robotium의 junit 테스트에서 AssertionFailedError가 발생했습니다.
- 11. JUnit 테스트에서 어떻게 목록을 테스트합니까?
- 12. Eclipse의 Junit 테스트에서 예외가 발생했습니다.
- 13. JUnit 테스트에서 오래된 인스턴스 사용
- 14. junit 테스트에서 JOptionPane.showInputDialog를 표시하지 않음
- 15. 대부분의 JUnit 테스트에서 예외를 발생시키는 것이 좋습니다. 내 JUnit 테스트의
- 16. junit 테스트에서 Hibernate persistence가 작동하는지 확인
- 17. Spring Junit 테스트에서 Autowired가 실패 함
- 18. JUnit 테스트에서 java.lang.instrument.Instrumentation을 사용할 수 있습니까?
- 19. 모든 getter 메소드가 JUnit 테스트에서 호출되었는지 확인하십시오.
- 20. 봄의 junit 테스트에서 빈 생성 예외
- 21. Grails 기준이 JUnit 테스트에서 작동하지 않습니다.
- 22. junit 테스트에서 값을 추적하는 방법은 무엇입니까?
- 23. JUnit 테스트에서 GWT의 URL.encode() 서버 측을 호출해야합니다.
- 24. Junit 테스트에서 로그 파일을 읽는 방법
- 25. Eclipse - JUnit 테스트에서 특성 파일을로드하지 못했습니다.
- 26. Junit 테스트에서 데이터를 되 돌리지 않음
- 27. JUnit 테스트에서 Maven 속성을 읽는 방법은 무엇입니까?
- 28. jUnit 테스트에서 메서드가 예외를 throw하도록하는 방법은 무엇입니까?
- 29. junit 테스트에서 Eclipse 마법사를 시작 하시겠습니까?
- 30. XHTML이 JUnit 테스트에서 유효한지 확인 하시겠습니까?
어설 션없이 제대로 작동합니까? – hidralisk
Java 어설 션을 해제하면 -ea 인수를 제거 할 때 적용 범위가 훨씬 줄어 듭니다. 내 테스트 클래스는 노란색으로 표시된 Java 어설 션과 내가 질문 한 메시지를 제외한 모든 것을 다룹니다. – Loolooii