2
我很難以某種方式設置我的項目,因此SonarQube報告每次測試的測試覆蓋率。如何在SonarQube中獲得每次測試的覆蓋率?
在與聲納掃描儀分析我剛纔看到
No information about coverage per test.
讀取JaCoCo執行數據之後。
這對工作有什麼要求?一個最小例子看起來如何顯示每個測試的覆蓋率。
我現在的環境是這樣的:
- SonarQube 6.4
- SonarJava 4.12.0
- 聲納掃描儀3.0.3
- Eclipse的霓虹燈
- EclEmma 3.0.0/0.7 JaCoCo。 9
而我的測試項目如下所示:
Workspace
+- EclipseProject
| +- bin
| | +- foo
| | | +- FooClass.class
| | +- tests
| | +- FooTestClass.class
| +- src
| +- foo
| | +- FooClass.java // Class with getter/setter for a private
| | // instance variable.
| +- tests
| +- FooTestClass.java // Two JUnit 4 tests: test1 checks getter,
| // test2 checks setter.
|
+- xml
| +- TEST-tests.xml // Export from Eclipse after combined test run, converted to fit Surefire format.
|
+- coverage
| +- test1.exec // Session export from Eclipse after single test run.
| +- test2.exec // Session export from Eclipse after single test run.
|
+- sonar-project.properties
正如您所看到的,執行數據每個測試都存在。的sonar-project.properties
內容看起來如下:
sonar.projectKey=EclipseProject
sonar.projectName=EclipseProject
sonar.projectVersion=1.0.0-20170830
sonar.projectBaseDir=/path/to/Workspace
sonar.sources=src/foo/
sonar.tests=src/tests/
sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.java.source=1.8
sonar.java.binaries=bin/
sonar.java.coveragePlugin=jacoco
sonar.jacoco.reportPaths=/absolute/path/to/coverage/test1.exec,/absolute/path/to/coverage/test2.exec
sonar.junit.reportPaths=/absolute/path/to/xml/
sonar.analysis.mode=publish
我不知道缺少了什麼。也許文件需要以特定的方式命名,如測試結果(僅以Surefire格式提取TEST-*.xml
報告)?