하핫;; 부끄럽군요. 61% ㅠ.ㅠ util쪽 테스트를 대충했었네요. 크핫;; 보완해야지.

참조 : http://confluence.atlassian.com/display/CLOVER/Clover+Documentation+Home

안 본 사이에 버젼이 많이 올라갔습니다. 예전엔 그냥 maven-clover-plugin 쓰고 있었는데, maven-clover2-plugin이 되어있네요.

1. 메이븐 플러긴 설정

settings.xml 에 플러그인 그룹 설정 추가.

<pluginGroups>
    <pluginGroup>com.atlassian.maven.plugins</pluginGroup>
</pluginGroups>

pom.xml에 플러그인 추가.

<build>
    <plugins>
        ...
        <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-clover2-plugin</artifactId>
            <configuration>
                <licenseLocation>${clover2.licenseLocation}</licenseLocation>
            </configuration>
        </plugin>
    </plugins>
</build>

2. 사용하기

mvn clover2:instrument clover2:aggregate clover2:clover

기본으로 /target/site/clover 폴더에 결과물 생성.

3. 기능

3-1. 목표 커버리지 설정

- 목표 % 설정해 놓고, clover2:check를 사용해서 검사할 수 있고, 목표치와 관계없이 빌드 성공시킬려면 커맨드라인에 -DfailOnViolation=false 옵션 추가.

3-2. exclusion/inclusion

- 정규 표현식으로 할 수도 있고, <includesTestSourceRoots>false</includesTestSourceRoots> 이거 한 줄 추가하면 테스트 소스 코드는 전부 제외할 수 있고, <contextFilters>try,static</contextFilters> 이렇게 하면 try-catch, static 코드 블럭을 제외할 수 있음.

3-3. JDK 레벨 설정

3-4. Clover Flush Policy 설정

3-5. 리포트 형식 설정

  <generatePdf>true</generatePdf>
  <generateXml>true</generateXml>
  <generateHtml>false</generateHtml>

3-6. Clover DB 위치 설정

3-7. Clover DB 정보 가져오기

- clover2:log 사용해서 보면 됨.

3-8. 히스토리 리포트 작성

<generateHistorical>true</generateHistorical>

3-9. 커스텀 리포트 작성

몰라 pass

3-10. Clover Goal을 Maven 빌드 Phase에 끼워넣기

괜찮지만 pass