簡體   English   中英

SonarQube + Jacoco覆蓋率差異

[英]SonarQube + Jacoco Coverage Discrepancies

我已經使用Jacoco來分析我團隊的Maven項目的代碼覆蓋率近三個月了。 隨着我們添加越來越多的測試,並且一切運行良好,它一直在適當地進行分析和增加。

在過去的幾天中,我們已經開始嘗試對該項目進行SonarQube分析。 我們遇到的問題是,SonarQube中顯示的覆蓋范圍與Jacoco為我們顯示的覆蓋范圍完全不同。

我已經研究過此問題,並在線閱讀了一些解決方案,可以在此處的URL上找到與我們所遇到的問題最相似的問題。 但這不能解決我們遇到的問題。

在我們正在處理的pom.xml文件中,我在properties文件夾中添加了以下幾行:

<sonar.coverage.jacoco.xmlReportPaths>./codeCoverage/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<sonar.language>java</sonar.language>
<sonar.java.source>8</sonar.java.source>
<sonar.java.libraries>target</sonar.java.libraries>

這些是我在網上找到的,告訴我們如何配置SonarProperties。

我沒有收到任何錯誤,但是代碼覆蓋率有所不同。

例如,在Jacoco.html文件中,我們的分支覆蓋率為9.44%但在SonarQube中,條件覆蓋率為10.00%

Jacoco.html中的線路覆蓋率為13.76% ,而SonarQube中的11.1%發生了相同的問題。

通過更深入地瀏覽SonarQube分析並逐包比較所分析的內容,我能夠找出所使用的設置的問題。

SonarQube正在分析整個存儲庫,顯示的默認覆蓋率報告不僅反映了使用jacoco.xml而且還查看了其他類型的代碼。

為了查看准確的代碼覆蓋率,我必須將SonarQube分析中的查找位置更改為專門包含Java代碼的目錄,從而在兩個服務之間調整覆蓋率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM