我遇到了聲納拾取jacoco分析報告的問題。但詹金斯能夠拿起報告並顯示結果。 我的項目是一個由Jenkins構建的maven構建版本。 jacoco報告由maven生成(在pom中配置)。聲納通過使用Jenkins插件執行。SonarQube沒有拿起單位測試覆蓋範圍
這就是我看到SonarQube:
這是報告,我可以在詹金斯看到該項目的。
的Maven插件配置:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.4.201312101107</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
詹金斯聲納插件配置
某處在您的控制檯輸出應該說, 「代碼覆蓋率爲0%......」,那信息將有助於調試您的問題。有兩件事情在腦海中浮現:1.您應該設置sonar.binaries屬性並將其指向您編譯的類文件2.您應該設置sonar.tests並將其指向未編譯的測試文件。 3.你應該在調試模式下編譯(你可能已經不知道了) – Cole9350
@ Cole9350,所以我在輸出中看到的錯誤是: _Project coverage設置爲0%,因爲沒有classes目錄._ 我已經嘗試將sonar.binaries設置爲classes目錄的根目錄 -/target/classes - 但是這導致錯誤,說他們找不到 – anton91
**更正**我再次嘗試並設置類的完全合格路徑我現在可以看到代碼覆蓋率。 但是我知道當jacoco傳感器運行時看到錯誤:沒有關於每個測試的覆蓋率的信息。 – anton91