我正在编写一个应用程序,其目标类(在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 coverage(使用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和Java7。我正在使用Sonar Maven插件(版本2.2)的所有默认值。

===============>>#1 票数:1 已采纳

因此,事实证明,您必须在src/test/java文件夹中至少有一个扩展名为.java文件(甚至不必进行测试),然后一切正常。 它使我想起了与Maven的Groovy集成错误,该错误以前需要在您的Groovy代码中包含一个Java文件,但自此以后,它们已解决。

  ask by Jonathan W translate from so

未解决问题?本站智能推荐:

关注微信公众号