我有所有這些工具報告與JaCoCo相同的覆蓋率:69%的覆蓋率和23%的覆蓋率。聲納報告與Idea,Eclipse,Maven和Jenkins不同的行和分支覆蓋範圍
注:截圖已經採取了數天,使他們有略微不同的值,但方差< 1%
然而聲納報告不同的值:
Maven項目的結構如下:
- 主(聚合器)
- 的java模塊
- JS(節點)模塊
您可以看到主模塊和Java模塊上報告的覆蓋範圍相同,並且沒有涵蓋js模塊。
我使用的jacoco
,jacoco-maven-plugin
的最新版本和聲納的Java Plugin
。
下面是mvn sonar:sonar
相關生成日誌片段 - 所有的似乎是爲了:
$ egrep -i 'jacoco|\[warn]' consoleText
[WARN] [04:34:29.569] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should no longer be used.
[WARN] [04:34:29.576] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should no longer be used.
[WARN] [04:34:29.593] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should no longer be used.
[INFO] [04:34:32.704] JaCoCoItSensor: JaCoCo IT report not found: /home/acme/workspace/example-Sonar-DSL/modules/example-main/target/jacoco-it.exec
[WARN] [04:34:32.952] Bytecode of dependencies was not provided for analysis of test files, you might end up with less precise results. Bytecode can be provided using sonar.java.test.libraries property
[WARN] [04:34:50.101] Cobertura report not found at /home/acme/workspace/example-Sonar-DSL/modules/example-main/target/site/cobertura/coverage.xml
[INFO] [04:35:03.391] Sensor JaCoCoSensor
[INFO] [04:35:03.406] Analysing /home/acme/workspace/example-Sonar-DSL/modules/example-main/target/jacoco.exec
[INFO] [04:35:03.712] Sensor JaCoCoSensor (done) | time=321ms
[INFO] [04:35:03.712] Sensor JaCoCoOverallSensor
[INFO] [04:35:03.714] Analysing /home/acme/workspace/example-Sonar-DSL/modules/example-main/target/jacoco.exec
[INFO] [04:35:03.762] Analysing /home/acme/workspace/example-Sonar-DSL/modules/example-main/target/sonar/jacoco-overall.exec
[INFO] [04:35:03.906] Sensor JaCoCoOverallSensor (done) | time=194ms
[INFO] [04:35:11.013] JaCoCoSensor: JaCoCo report not found : /home/acme/workspace/example-Sonar-DSL/modules/frontend/target/jacoco.exec
[INFO] [04:35:11.013] JaCoCoItSensor: JaCoCo IT report not found: /home/acme/workspace/example-Sonar-DSL/modules/frontend/target/jacoco-it.exec
[INFO] [04:35:11.179] JaCoCoSensor: JaCoCo report not found : /home/acme/workspace/example-Sonar-DSL/target/jacoco.exec
[INFO] [04:35:11.179] JaCoCoItSensor: JaCoCo IT report not found: /home/acme/workspace/example-Sonar-DSL/target/jacoco-it.exec
這是聲納的Java插件中的錯誤? 我認爲,當由不同人配置的其他3種工具始終顯示不同的值時,聲納報告的指標是不正確的。
這是否涉及多模塊項目?如果是的話,你是否在一些模塊中測試了其他模塊中的代碼? – benzonico
我第二個benzonico ...我遇到過有1個模塊中所有模塊的測試用例的項目。在這種情況下,大多數測試會拋出錯誤,並且將報告1個模塊的覆蓋率,其中包含測試用例 – Shiva
不,它是一個多模塊項目,但它只有一個Java模塊,另一個用於前端,所以所有JUnit測試都是與被測代碼在同一模塊中。 –