Jenkins集成Cobertura顯示代碼測(cè)試覆蓋率報(bào)告

一. 概述

測(cè)試驅(qū)動(dòng)的開(kāi)發(fā)不能超過(guò)測(cè)試所能達(dá)到的程度。測(cè)試改進(jìn)了代碼質(zhì)量,但這也只是針對(duì)實(shí)際測(cè)試到的那部分代碼而言的。您需要有一個(gè)工具告訴您程序的哪些部分沒(méi)有測(cè)試到,這樣就可以針對(duì)這些部分編寫(xiě)測(cè)試代碼并找出更多 bug。

Mark Doliner 的 Cobertura (cobertura 在西班牙語(yǔ)是覆蓋的意思)是完成這項(xiàng)任務(wù)的一個(gè)免費(fèi) GPL 工具。Cobertura 通過(guò)用額外的語(yǔ)句記錄在執(zhí)行測(cè)試包時(shí),哪些行被測(cè)試到、哪些行沒(méi)有被測(cè)試到,通過(guò)這種方式來(lái)度量字節(jié)碼,以便對(duì)測(cè)試進(jìn)行監(jiān)視。然后它生成一個(gè) HTML 或者 XML 格式的報(bào)告,指出代碼中的哪些包、哪些類、哪些方法和哪些行沒(méi)有測(cè)試到??梢葬槍?duì)這些特定的區(qū)域編寫(xiě)更多的測(cè)試代碼,以發(fā)現(xiàn)所有隱藏的 bug。

下面簡(jiǎn)單介紹一下,如果使用Jenkins集成Cobertura顯示代碼測(cè)試覆蓋率報(bào)告

二. maven集成Cobertura

我的項(xiàng)目是用maven作為構(gòu)建工具,需要maven集成Cobertura,故要在pom.xml文件中增加cobertura-maven-plugin插件:

        <plugins>       
                <!--  cobertura plugin start -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>  
                    <artifactId>cobertura-maven-plugin</artifactId>  
                    <version>2.7</version>  
                    <configuration>  
                        <formats>  
                            <format>html</format>  
                            <format>xml</format>  
                        </formats>  
                    </configuration>  
                </plugin>       
                <!--  cobertura plugin end -->
                
        </plugins>

我的項(xiàng)目采用的是微服務(wù)架構(gòu),只需要在自己要出報(bào)告的模塊pom.xml中添加如上插件即可.

三. Jenkins安裝Cobertura插件
四. 配置Jenkins任務(wù)
  1. 修改maven執(zhí)行命令,添加Cobertura執(zhí)行命令
cobertura:cobertura
# 標(biāo)注、運(yùn)行測(cè)試并產(chǎn)生 Cobertura 覆蓋率報(bào)告
  1. 在Add post build action(構(gòu)建后操作)這個(gè)配置項(xiàng)中選擇如下Publish Cobertura Coverage Report:


  2. 選擇完后會(huì)顯示一個(gè)配置項(xiàng), 這里填上你最終cobertura生成xml report的路徑,我的路徑是**/target/site/cobertura/coverage.xml

4. 重新build項(xiàng)目

就可以在項(xiàng)目首頁(yè)看到code coverage report:



第一次構(gòu)建,右側(cè)的代碼覆蓋率報(bào)告可能會(huì)顯示為空,沒(méi)有關(guān)系的,多構(gòu)建幾次就出來(lái)了.
點(diǎn)擊進(jìn)去,可以查看更為詳細(xì)的報(bào)告信息:


具體如何查看Cobertura輸出報(bào)告,可參考文章<用 Cobertura 測(cè)量測(cè)試覆蓋率>.

五. 參考文章:
  1. jenkins集成cobertura,調(diào)用顯示cobertura的report
  2. 用 Cobertura 測(cè)量測(cè)試覆蓋率.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容