【发布时间】:2014-06-04 06:26:51
【问题描述】:
我正在编写一个应用程序,其目标类(在 src/main/java 中)被编写/编译为 Java 7,但其单元测试(在 src/test/java 中)是用 Groovy 编写的。当我运行mvn sonar:sonar 时,我试图从 Sonarqube 获取指标。我得到了大多数东西,但我没有从 JaCoCo 获得代码覆盖率指标。相反,当跑步者到达 JaCoCo 传感器时,我收到以下消息:
Project coverage is set to 0% as no JaCoCo execution data has been dumped: C:\Users\fiddlerpianist\Projects\emailnotifier\target\jacoco.exec
但是,当我在 Eclipse 中运行 EclEmma 覆盖率(使用 JaCoCo)时,我会通过这些 Groovy 测试获得完整的覆盖率报告。它只是无法通过 Sonarqube 工作。有谁知道它为什么不起作用,或者是否有办法我可以配置不同的东西以使其起作用?我已经尝试了一堆配置排列,但到目前为止......没有运气。
我使用的 Maven java 编译器插件的配置略有不同(即我使用 lombok):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<source>1.7</source>
<target>1.7</target>
<compilerArguments>
<javaAgentClass>lombok.core.Agent</javaAgentClass>
</compilerArguments>
<fork>true</fork>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.7.0-01</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>2.0.8-01</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.12.6</version>
</dependency>
</dependencies>
</plugin>
我的 Groovy 依赖项的范围为 test:
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.0.8</version>
<scope>test</scope>
</dependency>
</dependencies>
我使用的是 Sonarqube 3.7.4、Maven 3.1.1、Groovy 2.0.8 和 Java 7。我使用的是 Sonar Maven 插件(2.2 版)的所有默认设置。
【问题讨论】:
标签: groovy maven-3 sonarqube jacoco