Junit 多模块项目覆盖报告
我在生成代码覆盖率报告和分析覆盖项目代码的单元测试方面遇到了问题。我已经使用声纳获取了项目报告,但单元测试覆盖部分没有显示任何内容。我做了一些研究,发现sonar需要一份由emma/clover/corbetura/jacoco生成的junit报告。该项目不是基于maven的。请告诉我如何分析基于非maven的多模块项目的代码覆盖率。我用的是声纳跑步器 任何链接或参考都会有所帮助。 请不要提供文档页面的链接。很显然,我已经浏览了所有这些。Junit 多模块项目覆盖报告,junit,code-coverage,cobertura,jacoco,sonar-runner,Junit,Code Coverage,Cobertura,Jacoco,Sonar Runner,我在生成代码覆盖率报告和分析覆盖项目代码的单元测试方面遇到了问题。我已经使用声纳获取了项目报告,但单元测试覆盖部分没有显示任何内容。我做了一些研究,发现sonar需要一份由emma/clover/corbetura/jacoco生成的junit报告。该项目不是基于maven的。请告诉我如何分析基于非maven的多模块项目的代码覆盖率。我用的是声纳跑步器 任何链接或参考都会有所帮助。 请不要提供文档页面的链接。很显然,我已经浏览了所有这些。 提前感谢。我提供了文档页面的链接,以帮助尚未看到文档或示
提前感谢。我提供了文档页面的链接,以帮助尚未看到文档或示例的其他人。获取maven属性设置并将其转换为sonar-runner.properties。例如,根据您设置多模块项目的方式,您可以将此设置放在父级或每个模块内:
sonar.jacoco.reportPath=reports/coverage/jacoco.exec
以下是多模块sonar runner项目的链接:
要配置单元测试代码覆盖率,请将maven中的相同属性应用于sonar-project.properties文件。下面是代码覆盖率示例中的示例:
注意:您需要设置单位和覆盖率属性以及源编码属性
sonar.projectKey=org.codehaus.sonar:example-ut-sonarRunner-jacoco-reuseReports
sonar.projectName=UT coverage with SonarQube Runner reusing JUnit and JaCoCo reports
sonar.projectVersion=1.0
sonar.sources=src
sonar.binaries=classes
sonar.language=java
# Tells SonarQube to reuse existing reports for unit tests execution and coverage reports
sonar.dynamicAnalysis=reuseReports
# Tells SonarQube where the unit tests execution reports are
sonar.junit.reportsPath=reports/junit
# Tells SonarQube that the code coverage tool by unit tests is JaCoCo
sonar.java.coveragePlugin=jacoco
# Tells SonarQube where the unit tests code coverage report is
sonar.jacoco.reportPath=reports/coverage/jacoco.exec
# Encoding of the source files
sonar.sourceEncoding=UTF-8
对于多模块项目,我有以下设置:
sonar.sources=src1,src2,src3 sonar.binaries=classes1,classes2,classes3 sonar.binaries=classes1,classes2,classes3
对我来说,它只显示src1的测试结果和覆盖范围。指定sonar.dynamicAnalysis=reusereport
没有帮助。