当前位置: 首页 > 知识库问答 >
问题:

如何向SonarQube发布Javascript测试执行覆盖率?

鞠隐水
2023-03-14

我如何在Sonar中发布Javascript(Jasmine Karma)测试的结果和覆盖范围。Java测试执行和覆盖范围都很好。我正在尝试添加由Karma(lcov coverageReport sonarQubeUnit记者)执行的Javascript测试。

Q1。我应该定义哪些声纳特性(例如,来源、包裹体、测试、test.inclusion、sonar.javascript.lcov.report路径)?

问题2。在哪个pom(多模块pom或子模块pom)中?

Q3。这些属性必须设置为什么值?

my-multi-modules-project
|-- a_module-project
|   |-- child.pom
|   |-- src/
|   |   |-- main/
|   |   |   |-- java/
|   |   |   |-- javascript/
|   |   |   |   |-- com/mycompany/project/javascript/
|   |   |   |   |   |-- totest.js
|   |   |   |-- resources/
|   |   |-- test/
|   |   |   |-- java/
|   |   |   |-- javascript/
|   |   |   |   |-- com/mycompany/project/javascript/
|   |   |   |   |   |-- specs/
|   |   |   |   |   |   |-- mytest.spec.js
|   |   |   |   | karma.conf.js
|   |   |   |-- package.json
|   |-- target/
|   |   |-- surefire-reports/
|   |   |-- test-results/
|   |   |   |-- lcov.info
|   |   |   |-- sonarQubeUnitReporter.xml
|-- root.pom
|-- target/

我想在Sonar中得到报告(除了已有的Java):

>

  • 执行Javascript测试;

    这些测试的覆盖范围;

    指向Javascript源代码的链接(没有“n个未知文件的测试执行数据被忽略”消息)。

    版本:jasmine 2.99.0 Java 1.8 karma 1.7.1 karma coverage 1.1.2 Maven 3.5.4 node 7.5 npm 3.0 sonarqube unit reporter 0.0.18 sonarqube 7.4

  • 共有1个答案

    裴良弼
    2023-03-14

    谢谢你的提问。

    请参阅以下代码-

    声纳。sources=src/main/javascript声纳。tests=src/test/javascript/spec sonar。TestExecutionReportPath=测试结果/ut_报告。xml//用于单元测试声纳。javascript。lcov。报告路径=测试结果/lcov。信息//覆盖范围

    根据声纳属性文件位置的路径,路径可以是相对的,也可以是绝对的。这应该涵盖了您的查询。请参考https://docs.sonarqube.org/latest/analysis/coverage/了解属性的详细信息。

     类似资料:
    • 我试图通过SonarQube API(Sonar Version4.1.2)检索单个类的单元测试代码覆盖率。一切都很好,当我直接进入声纳仪表板并进入一个类的覆盖选项卡时,我可以看到指标良好: 有人能告诉我通过声纳API接口检索相同/相似信息的正确调用吗?我已经查看了http://docs.sonarqube.org/display/sonar/metric+definitions上的文档,并且可以

    • 我可以在声纳获得单位测试覆盖率通过使用Jacoco工具的代码覆盖率,并使用其报告在声纳属性文件为'sonar.jacoco.report路径=.../Reports/report.exec'。如何通过使用RAD的默认插件获得SONAR中的单元测试覆盖率,该插件以. coveragedata、. Analysis和. html格式生成报告?

    • 我很难设置我的项目,以便SonarQube报告每个测试的测试覆盖率。 在声纳扫描仪的分析过程中,我只看到 在读取了JaCoCo执行数据之后。 这工作的要求是什么?显示每个测试覆盖范围的最小示例的外观如何。 我当前的环境如下所示: 声纳奎比 6.4 索纳贾瓦 4.12.0 声纳扫描仪 3.0.3 日食霓虹灯 埃克莱艾玛 3.0.0/雅可 0.7.9 我的测试项目如下所示: 如您所见,每个测试都存在执

    • 当我的单元测试通过Emma被“覆盖”时,我试图让Sonar IT代码覆盖为我工作。 我的情况: (1)我有大量使用JMockit的单元测试。删除JMockit不是一个选项。我想获得这些测试的单元测试覆盖报告。 (2)我进行了集成测试,简单地用不同的输入场景运行应用程序的核心服务器端部分(这是一个Spring web应用程序)。我想要它的代码覆盖报告。 对于第(1)部分,我选择使用Emma进行单元测

    • [在这里输入图像描述][1][在这里输入图像描述][2]我知道很多人都有类似的问题。我展示了很多答案,尝试了在声纳网站上给出的示例代码。那个样品工作得很好。我还显示以下链接 maven 3.0.5 请帮我解决这个问题。 下面是父模块pom文件 我真的觉得这是jacoco或Sonarqube的bug。可能它不兼容Java8之类的东西。我几乎什么都试过了。sonar java插件2.5.1不推荐使用许

    • 我尝试在我的应用程序模块中的代码的AndroidKotlin应用程序的声纳Qube中显示测试覆盖范围。我可以生成雅各的覆盖结果并显示声纳Qube分度仪,但问题是测试覆盖范围未显示在声纳Qube中: https://imgur.com/a/xOjxLl1 在我的项目的build.gradle中,我有: 在我的身体里。我的应用程序模块的gradle 我生成我的Jacoco报告: 并使用:生成我的son