2017-12-15 18 views

답변

2

은 제가 코드 범위에서 제외 할 자바의 일부 코드가 있습니다. 어떻게하면 좋을까요? 특수 효과를 추가하고 싶습니다. 이것을 사용하기 위해 jacoco를 구성하거나 확장하는 방법이 있습니까?

현재까지 최신 버전의 JaCoCo (0.7.9)에는 이러한 기능이 없습니다. 전체 클래스 만 제외 할 수 있습니다.

페이지에서 https://github.com/jacoco/jacoco/wiki/FilteringOptions#annotation-based-filtering (개발자 전용) 향후 버전의 아이디어로 기록됩니다. http://www.jacoco.org/jacoco/trunk/doc/changes.html, 다양한 필터를 포함, 롬복과 그루비에 의해 생성하고 표시하는 방법 중 어떤 필터링 중 -

공식 JaCoCo 문서는 최신 출시되지 않은 빌드뿐만 아니라 출시되지 않은 변경 다음 버전에 대한의 목록을 구하는 방법에 대한 정보가 포함되어 있습니다 주석 lombok.Generatedgroovy.transform.Generated에 의해 각각. 잠재적으로이를 남용 할 수는 있지만 여러 가지 이유로 그렇게하는 것을 권장하지는 않습니다.

+1

+1하지만 이러한 주석에 대한 합법적 인 사용은 무엇입니까? 어디서나 그런 예를 찾을 수는 없으며, 커버리지 도구의이 기능은 오용되고 남용 될뿐입니다. 소스 코드에 메소드가 있고 비어 있지 않은 경우 소스 코드가 일부 툴에 의해 생성 된 경우에도 커버리지 분석에서 * 고려되어야한다고 생각합니다. 어쨌든이 방법은 app/system 기능에 대한 기여도를 줄 것이라고 생각합니다. 그렇다면 왜 테스트하지 않으시겠습니까? –

+0

@ Rogério - "정적"도우미 클래스의 개인 생성자 - 리플렉션을 사용하여 생성자 실행을 강제로 수행하는 것이 올바른 방법이라고 생각하지 않습니다 ... – CptBartender

+0

@CptBartender 물론 Reflection을 통해 개인 생성자를 호출하는 것은 해결책이 아닙니다 ... 적절한 솔루션은 코드 커버리지 도구가 자동으로 필터를 제거하는 것입니다. JaCoCo는 이미 비공개 빈 생성자를 위해이를 수행하고 있습니다. –