maven 2 - tutorial - cobertura on maven 다중 모듈 프로젝트



maven pom reference (5)

Cobertura (및 기타) 보고서를 집계하는 몇 가지 플러그인이 있습니다. SonarXRadar 플러그인을 확인하십시오. 대시 보드 플러그인 도 있지만, 다소 어색하다.

FWIW Emma는 온라인 서비스를 제공 합니다.

Maven 프로젝트에는 4 개의 모듈이 있습니다. 그 중 3 개는 코드와 일부 테스트 (클래스의 equals와 hashcode 테스트)를 포함하고 있지만 4 번째 모듈은 다른 3 개의 모듈을 테스트하는 것입니다.

이제 cobertura 코드 커버리지 도구를 실행하여 클래스가 잘 테스트되었거나 테스트되지 않은 개요를 얻고 싶습니다. 그 주제에 대한 조사를 한 결과, 테스트를 거친 일부 소스가 다른 모듈에있는 경우 cobertura는 올바른 코드 커버리지 비율과 라인 커버리지를 생성하지 못하는 것으로 보입니다.

SeamTestCoverageWithCobertura 와 같은 링크를 SeamTestCoverageWithCobertura 다중 모듈 Maven 2 내에서 플러그인 커버리지를 사용 했지만 상자 솔루션이 있어야합니다. 누구든지이 주제에 대한 새로운 방향을보고 할 수 있습니까? 아니면 cobertura와 같은 도구가 있습니까? 나는 emma를 우연히 만났지만이 도구는 라인 범위를 제공하지 않습니다 ...


Answer #1

Thomas Sundberg는 계측 및 테스트보고가 ant 를 통해 수행되지만 mvn 통한 모든 테스트 및 종속성 관리에 대한 흥미로운 솔루션을 제공합니다.

여기를 확인 : thomassundberg wordpress

부모 레벨에서 다음 명령을이 순서로 실행해야 함을 의미합니다.

mvn clean compile
ant instrument
mvn test
ant report

이 단계들을 sonar 통합하는 것은 Martijn Stelinga에 의해 기술된다.

test-coverage-in-multi-module-projects


Answer #2

난 당신이 대답 덕분에 필요한 것과 아주 비슷한 것을 구현할 수있다. Maven - 이슈 소스에 대한 의존성 추가

방금 <classifier>sources</classifier> 했으며 cobertura에는 종속성의 클래스도 포함되었습니다.

문안 인사.


Answer #3

버전 2.6부터 부모 pom에서 true로 설정할 수있는 집계 옵션이 있습니다.

<reporting>
<plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <outputDirectory>./target/tmpCobertura</outputDirectory>
        <formats>
            <format>html</format>
        </formats>
        <aggregate>true</aggregate>
    </configuration>
  </plugin>
</plugins>
</reporting>

Answer #4

MCOBERTURA-65 에 따르면, maven cobertura 플러그인은 하위 모듈의 보고서를 통합 된 방법으로 집계하는 방법을 여전히 모르고 있습니다. 일부 작업은 maven cobertura 플러그인 ( MCOBERTURA-33 참조)에서 merge 대상을 구현하기 위해 수행되었지만이 코드는 아직 플러그인에 포함되지 않았습니다. 나는 패치를 직접 테스트하지 않았고 시도 할만한 가치가 있는지 말할 수 없다.

결과적으로 많은 사람들이 실제로 Maven 대시 보드 플러그인 을 사용하도록 제안하지만 장기적으로는별로 만족스럽지 않으므로 개인적으로 멀리 떨어져있을 것입니다 (기술적 인 문제, 기록이 손실 됨) , ...). 대신, 나는 Sonar 따뜻하게 추천한다 . Sonar의 최신 버전 인 Nemo 에서이 도구의 라이브 데모를 확인하십시오. 예를 들어, Commons Digester 프로젝트와 코드 커버리지드릴 다운을보십시오 .





cobertura