【问题标题】:Sonarqube: view unit tests that cover the sourceSonarqube:查看涵盖源代码的单元测试
【发布时间】:2016-06-06 16:37:38
【问题描述】:

我们在 Bamboo 中有一个 CI 设置,它运行 Junit 测试并使用 Jacoco 计算单元测试覆盖率。然后我们运行 Sonar 插件进行源代码分析。一切都很好,我们可以在 SonarCube 服务器上看到分析,包括覆盖率,但我们想确切地看到哪些测试覆盖了特定的代码行。现在它只是说:被单元测试覆盖

有没有办法做到这一点?

【问题讨论】:

    标签: java junit sonarqube bamboo jacoco


    【解决方案1】:

    我在示例声纳项目中找到了答案:https://github.com/SonarSource/sonar-examples/tree/master/projects/languages/java/code-coverage/ut/ut-maven-jacoco

    必须为 surefire 插件配置 Jacoco 侦听器。

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <!-- Minimal supported version is 2.4 -->
            <version>2.13</version>
            <configuration>
              <properties>
                <property>
                  <name>listener</name>
                  <value>org.sonar.java.jacoco.JUnitListener</value>
                </property>
              </properties>
            </configuration>
          </plugin>
    

    并添加依赖项:

       <dependency>
          <groupId>org.sonarsource.java</groupId>
          <artifactId>sonar-jacoco-listeners</artifactId>
          <version>3.8</version>
          <scope>test</scope>
        </dependency>
    

    声纳插件还需要以下参数的某种组合:

    sonar.java.surefire.reportspath 
    sonar.junit.reportsPath
    sonar.tests=src/test
    

    最后一个达成交易

    【讨论】:

      猜你喜欢
      • 2018-12-08
      • 2016-01-31
      • 1970-01-01
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      相关资源
      最近更新 更多