如何通过非 maven 项目的声纳的 junit 测试来测量代码覆盖率

Posted

技术标签:

【中文标题】如何通过非 maven 项目的声纳的 junit 测试来测量代码覆盖率【英文标题】:how to measure code coverage by junit test with sonar for non maven project 【发布时间】:2015-05-18 05:50:27 【问题描述】:

我在 sonar runner 和 sonar qube 的帮助下扫描了我的项目,但在结果中我看不到覆盖率详细信息和测试用例详细信息。谁能告诉我使用声纳对非 Maven 项目进行代码覆盖的过程。

提前致谢

【问题讨论】:

我在声纳方面做了很多工作,所以我可以帮助你。但是你的要求不明确。你能告诉我你面临的问题是什么吗?你有没有检查 localhost:9000 的结果。如果你想登录用户名和密码是 admin/admin 我打开了 localhost:9000,在那里我可以看到问题和代码行等,但我无法看到覆盖率详细信息(例如:行覆盖率、条件覆盖率、单元测试成功(% ) ) 那些字段是空的 你有什么解决办法吗? 嗨 ravi kiran..我已经安装了 eclemma 但它没有生成coverage.xml。它直接显示结果 嗨对不起,我的营业时间已经开始,所以很忙。这是我的电子邮件地址,您可以在 kirankumar.15789@gmail.com 给我发邮件。在 eclemma 中,我们有一个选项导出会话,您可以使用它并导出它吗?这是指南eclemma.org/userdoc/importexport.html 【参考方案1】:

您可以使用 ECLEMMA 是一个很棒的 eclipse 覆盖插件 http://marketplace.eclipse.org/content/eclemma-java-code-coverage

【讨论】:

【参考方案2】:

Sonarqube 不提供代码覆盖率,它只检测代码违规。请使用 emma、cobertura、jacoco 等插件来生成这些详细信息。您可以配置这些插件以获取在 sonarqube 服务器上显示的报告

【讨论】:

谢谢。你能告诉我非 Maven 项目必须使用哪个插件吗?并告诉我如何使用它。 如果不是 maven,您是使用 Ant 构建还是使用 Gradle 在一个项目中我们使用 Ant,而在另一个项目中我们没有使用任何构建工具 对于 ant build ,只需查看如何将 Jacoco 插件配置到脚本中,下面的链接可以让您有所了解。 ***.com/questions/14211584/ant-sonar-0-code-coverage 如果没有构建工具,请安装 eclipse 插件 EclEmma 或 eCobertura,右键单击项目并选择 Cover As ,这将生成 coverage.xml 文件,声纳将选择该文件显示结果。 嗨 ravi kiran..我已经安装了 eclemma 但它没有生成coverage.xml。它直接显示结果

以上是关于如何通过非 maven 项目的声纳的 junit 测试来测量代码覆盖率的主要内容,如果未能解决你的问题,请参考以下文章

xml Apache Maven pom for(基本+ junit +声纳要求)

maven多模块项目中的模块级声纳分析

从命令行运行声纳分析时出现链接错误(maven 项目)

声纳项目集成

在Maven项目中运行JUnit 5测试用例

如何在 Maven 中按类别运行 JUnit 测试?