Cobertura를 사용하여 코드 검사에서 메서드 제외
Cobertura 커버리지 보고서에 포함되지 않도록 코드를 제외하는 방법이 있습니까? 보장 보고서에 포함해서는 안되는 몇 가지 방법이 있으므로 보장 번호를 낮추지 않습니다.
나는 Clover에 그러한 기능이 있다는 것을 알고 있지만 Cobertura와 비슷한 것을 찾지 못했습니다.
계측에서 클래스를 제외 할 수 있습니다. 그런 다음 보고서에 나타나지 않아야합니다. 아래의 exclude 문을 참조하세요.
일부 메서드에 대한 호출을 무시할 수도 있습니다. 아래의 ignore 문을 참조하십시오 .
maven을 사용하는 경우 maven 플러그인 설명서를 참조하십시오 .
<configuration>
<instrumentation>
<ignores>
<ignore>com.example.boringcode.*</ignore>
</ignores>
<excludes>
<exclude>com/example/dullcode/**/*.class</exclude>
<exclude>com/example/**/*Test.class</exclude>
</excludes>
</instrumentation>
</configuration>
그리고 개미를 위해 이것을보십시오 .
<cobertura-instrument todir="${instrumented.dir}">
<ignore regex="org.apache.log4j.*" />
<fileset dir="${classes.dir}">
<include name="**/*.class" />
<exclude name="**/*Test.class" />
</fileset>
<fileset dir="${jars.dir}">
<include name="my-simple-plugin.jar" />
</fileset>
</cobertura-instrument>
이것은 한동안 내 머리를 부러 뜨리고 있습니다.
내 문제는 빌드 섹션 대신보고 섹션에 cobertura maven 플러그인 설정이 있다는 것입니다.
계측 설정 및 따라서 클래스 또는 패키지 제외는 빌드 섹션에서 설정하지 않으면 적용되지 않으므로주의하십시오.
내부 클래스도 제외해야합니다.
<exclude>path/to/class/MyClass*.class</exclude>
별표가 누락 된 것을 알아 차리는 데 몇 년이 걸렸습니다!
Cobertura는 현재 이러한 기능을 제공하지 않으며 Emma (우리가 사용하는)도 향후 개선 사항으로 나열되어 있지만 주석이 아닌 제외 규칙에 대한 확장의 형태로 제공됩니다.
우스꽝스럽지 않고 100 % 노력할 수 있도록 접근하기 어려운 모서리를 깨끗하게 덮는 것이 편리 할 것입니다.
나는 주석이 더 친숙한 방법이라고 생각하지만, 그렇지 않으면 '@ExcludeFromCoverage'와 같은 것이 관대하게 추가 될까 두렵기 때문에 상당히 명시 적으로 이름을 지정하고 수용 가능한 시나리오 목록을 기반으로해야합니다.
2.0부터 자신 만의 @CoverageIgnore
주석을 작성할 수 있습니다 .
Cobertura에 의해 인식되며 주석이 달린 메서드를 고려 하지 않을 것입니다 (내가 아는 한 클래스에서 작동하지 않음).
- 빈 주석을 만듭니다.
public @interface CoverageIgnore {}
- 그런 다음 보고서에서 제외 할 메소드에 주석을 추가하십시오.
public class SomeClass {
@CoverageIgnore
public void foo(String baz) {
// useless stuff
}
}
출처 : https://github.com/cobertura/cobertura/wiki/Coverage-Annotations
참조 URL : https://stackoverflow.com/questions/951569/exclude-methods-from-code-coverage-with-cobertura
'IT이야기' 카테고리의 다른 글
설치시 bower가 통계를 요청하지 않도록합니다. (0) | 2021.04.09 |
---|---|
ConstraintLayout 종횡비 (0) | 2021.04.08 |
C ++ 싱글 톤 대 전역 정적 개체 (0) | 2021.04.08 |
SELECT 문에서 BOOLEAN 유형을 사용하는 방법 (0) | 2021.04.08 |
std :: string 구현 (0) | 2021.04.08 |