我的代碼結構如下:如何使用Jacoco和多個模塊在Jenkins中進行代碼覆蓋?
事件
消息
其他代碼
功能的測試
在爲jacoco構建腳本,它首先複製所有類和使用該類目錄來運行該工具。你能否在這裏描述目標目錄的步驟。我的意思是我該如何提及運行代碼覆蓋的目錄。
生成後,每個文件夾都有自己的目標文件夾,其中有類。
步驟如下:
- 構建項目作爲詹金斯工作
- 將其部署到用戶級
- 在詹金斯運行jacoco報告工作
Jacoco報告作業解釋:
構建步驟 - maven 3.3.3 目標 - 清潔測試 和測試套件,用戶階段的詳細信息和其他信息都通過。
後的步驟 - 執行shell
無法格式化並粘貼在這裏,所以這裏上傳:https://zerobin.net/?8a988cd05bf3d752#fbzMlW1b7uzD+HZnmwnd9WjQYBI3j95Q7DCIx6q+l0U=
調用頂級行家的目標 - 行家3.3.3 -f jacoco_pom.xml jacoco:轉儲antrun:run @ report
在shell粘貼中使用的clasDir
變量應該有類。到目前爲止,我已經在shell腳本的開始做了這個。
mkdir -p target/classes
cp -R messages/target/classes target/classes
,並設置clsDir = target/classes
,
這樣,我得到了模塊上的報告。我的測試套件只包含一個課程。我想要包含其他模塊,如events
,other-code
,並且還鏈接了源代碼。
我需要幫助,我應該如何設置它。主要目的是生成功能測試的代碼覆蓋率報告。
編輯:
答:下面的回答幫助,但它是所有做與shell命令沒有任何UI。因此,克隆回購,做mvn clean package -DskipTests
和複製所有模塊文件夾中的所有第一級子文件夾幫助,但它然後顯示覆蓋率錯誤類文件的執行數據不匹配。這意味着我們用於覆蓋的類以及我們用於覆蓋的類是由不同的JVM(一個在Jenkins中另一個在舞臺中部署的)分開構建的。
因此,解決方案是不克隆和重新編譯它們,而是從部署存儲庫下載清單並解包所有罐子。這樣我就擁有了同一版本中的所有類。
你指的是一些「構建腳本」,但IMO不清楚這意味着什麼 - 有很多種構建工具,並且根據構建工具執行JaCoCo的方法很多 - Maven Plugin,Ant Tasks等。你能否請澄清你的問題,最好用一個更簡潔的例子 - 見http://stackoverflow.com/help/mcve? – Godin
請立即檢查。 – xploreraj