2017-06-16 53 views
0

我正在使用以下命令來構建我的Maven代碼。如何在聲納代碼覆蓋範圍內包含單元和集成測試

編譯期

-DargLine="-DDB_SERVER=localhost -DDB_PORT=5432 -DDB_NAME=sample -DDB_USER=sample -DDB_PASSWORD=sample -DDB_MAX_POOL=10" -Dcom.sample.redis=false clean compiler:compile 

單元測試分析 -

DargLine=-DDB_SERVER=localhost -DDB_PORT=1234 -DDB_NAME=sample -DDB_USER=sample -DDB_PASSWORD=sample -DDB_MAX_POOL=10 -Dcom.sample.redis=false -Dcobertura:cobertura-integration-test -Dcobertura.aggregate=false -Dcobertura.report.format=xml integration-test test 

而且使用下面的聲納性能捕捉到XML聲納發佈。

sonar.projectKey=sample 
sonar.projectName=sample 
sonar.projectVersion=$PipelineId 
sonar.modules=admin,client-api,common,om,serviceproviders 
sonar.cobertura.reportPath=target/site/cobertura/coverage.xml 
sonar.sources=. 
sonar.skipPackageDesign=true 
sonar.sourceEncoding=UTF-8 

正在多模塊的代碼覆蓋率只顯示9.4%。我錯過了什麼。我也沒有看到任何錯誤日誌。我如何使用Jacoco這樣的覆蓋工具來實現同樣的功能。

SonarQube - Version 5.1.1 - LGPL v3

+0

當前版本爲6.4,當前LTS爲5.6.6。你不可能爲版本<那些找到很多幫助。 –

回答

0

Maven有一個生命週期Maven Lifecycle其中每個目標包括之前的人。例如「測試」包括「編譯」,「集成測試」包括「測試」等。您通常只需要在生命週期的頂端包含目標。例如「mvn test」表示(編譯並運行測試)。

我想你想運行「mvn verify」的目標,即編譯,運行測試和集成測試,然後運行驗證(覆蓋檢查等)。 Cobertura有一個插件,應該與maven集成並利用各種目標在適當的時候運行它的作品。我猜你正在搞多個目標,試圖把它分解成碎片 - 即覆蓋儀器或其他東西。

同樣,你可能會發現使用jacoco比cobertura更容易。它隱藏了儀器,並與maven完美無瑕地集成在一起。

祝你好運。

+0

如何使用Jacoco覆蓋工具實現相同? – Kally

相關問題