如果maven己經整合好jacoco的話,若要在jenkins進行測試覆蓋率只要使用jacoco的plugin
只要在maven的post build的動作設定產生jacoco report
就可以很容易的得到jacoco產生出來的test coverage的報表
但如果是使用在Jenkins是利用 pipeline來做build,並產生test coverage report呢?
目前在Jenkins 2.9時就沒有辦法透過這個插件來進行了
不過因為先前在maven 己經整併好jacoco了,如果有整合的話,pom.xml的內容應該會像下圖這樣
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
在使用pipeline時,可以直接使用maven的指令,來執行j測試覆蓋率並產生報表
stage 'gen jacoco exec'
bat "${mvnHome}/bin/mvn jacoco:prepare-agent"
stage 'gen jacoco report'
bat "${mvnHome}/bin/mvn jacoco:report"
產生的html可以在.jenkins\workspace\your project\target\site
裡找到,index.html會有所有程式的測試覆蓋率概況
雖然目前沒辦法像plugin一樣直接在jenkins的project顯示圖表,但之後應該會有更好的整合方式