首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个java单元测试报告的声纳覆盖范围报告

多个java单元测试报告的声纳覆盖范围报告
EN

Stack Overflow用户
提问于 2016-04-14 00:59:41
回答 3查看 5.5K关注 0票数 0

我有一个名为Customer的java项目,在这个项目下我还有另外8个模块,在这5个模块中有junit测试类,每个模块都有单独的ant构建文件。我已经为每个项目创建了(生成的单元测试报告) jacoco.exec,现在,我喜欢将这5个模块的单元测试报告合并到一个报告中,并在sona coverage部分中显示(或)显示每个模块的单元测试报告。你能对此提出任何建议吗?

谢谢,约瑟夫

EN

回答 3

Stack Overflow用户

发布于 2016-04-14 01:26:51

您要做的是阅读每个模块的测试报告。您可以使用多模块项目配置来做到这一点。如果你全部从你的主build.xml来处理,这可能会是最直接的。我还没有在Ant中测试过这一点,但是这样的东西应该可以工作

代码语言:javascript
运行
复制
<property name="sonar.projectKey" ...
<!-- all normal properties here -->
<property name="sonar.modules" value="module1,module2..." />
<property name="module1.sonar.jacoco.reportPath" value="...

请注意,如果Jacoco报告都在一个标准位置,您可能甚至不需要指定它们,因为子模块继承了它们的父模块的属性。用于多模块项目配置的The docs在编写时并没有考虑到Ant语法,但是只要您在SonarQube Scanner for Ant docs中记住了这一点,就应该能够解决这个问题

Ant的SonarQube扫描器是一个

任务,它是SonarQube扫描器的包装器,它通过调用SonarQube扫描器并将遵循sonar.*约定命名的所有属性传递给它来工作。这样做的缺点是不是很像Ant-y,但优点是可以提供由新版本的插件或SonarQube本身引入的任何新分析参数的即时可用性。

票数 0
EN

Stack Overflow用户

发布于 2016-04-15 03:44:21

非常感谢。再一次敬安..它对我起作用,我的问题解决了(覆盖范围和每个模块的多种语言),在为每个子项目添加了单独的模块后,如下所述。在Sonarqube中获取模块的“coverage”结果..

代码语言:javascript
运行
复制
# Modules
sonar.modules=common,help,mobile,partners

common.sonar.projectBaseDir=C:/dev/workspaces/hg/customer
common.sonar.sources=common/src/main/java,common/web
common.sonar.tests=common/src/test/java
common.sonar.binaries=common/bin
common.sonar.junit.reportsPath=common/test/reports/junitreport   
common.sonar.surefire.reportsPath=common/test/reports/junitreport
common.sonar.jacoco.reportPath=common/coverage/common.exec

help.sonar.projectBaseDir=C:/dev/workspaces/hg/customer
help.sonar.sources=help/src/main/java,help/web
help.sonar.tests=help/src/test/java
help.sonar.binaries=help/bin
help.sonar.junit.reportsPath=help/test/reports/junitreport   
help.sonar.surefire.reportsPath=help/test/reports/junitreport
help.sonar.jacoco.reportPath=help/coverage/help.exec
票数 0
EN

Stack Overflow用户

发布于 2017-01-30 16:27:00

这对我很有效:

代码语言:javascript
运行
复制
sonar.modules=common,help
sonar.sources=./src/main/java
sonar.binaries=./target/classes
sonar.tests=./src/test/java
sonar.junit.reportsPath=./target/surefire-reports

路径应该是相对的,因为声纳会自动导航到basedir/module_name/target/surefire-report

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36604992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档