Clover 2.3.2(for Maven)
하핫;; 부끄럽군요. 61% ㅠ.ㅠ util쪽 테스트를 대충했었네요. 크핫;; 보완해야지.
참조 : http://confluence.atlassian.com/display/CLOVER/Clover+Documentation+Home
안 본 사이에 버젼이 많이 올라갔습니다. 예전엔 그냥 maven-clover-plugin 쓰고 있었는데, maven-clover2-plugin이 되어있네요.
1. 메이븐 플러긴 설정
settings.xml 에 플러그인 그룹 설정 추가.
<pluginGroup>com.atlassian.maven.plugins</pluginGroup>
</pluginGroups>
pom.xml에 플러그인 추가.
<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