IntelliJ 12代码覆盖率无法在GWT项目的编辑器中使用

时间:2012-12-16 23:25:45

标签: ide intellij-idea code-coverage emma

我正在尝试IntelliJ 12,在运行覆盖测试后,我无法在编辑器中获得彩色(红色,绿色,黄色)。 有没有人注意到这个问题,或者只是我无法让它发挥作用?

3 个答案:

答案 0 :(得分:7)

默认情况下,代码覆盖率结果仅显示在左侧排水沟中,可能很难注意到:

coverage displayed in gutter

您可以更改装订线颜色或配置IntelliJ IDEA以根据其覆盖状态更改整行(而不是前景)的背景

coverage background settings

现在看到覆盖状态要容易得多:

coverage displayed as background

答案 1 :(得分:3)

最后,我发现导致IntelliJ IDEA 12.0.0(以及12.0.1)导致代码覆盖失灵的原因。

我的项目是一个GWT项目,因此有一些额外的配置来运行gwt客户端测试:源目录被添加到类路径中,这样gwt devmode可以无头运行进行测试:

 <build>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <additionalClasspathElements>
                        <!-- the following two lines, causes intellij coverage to stop working -->
                        <additionalClasspathElement>${project.build.sourceDirectory}</additionalClasspathElement>
                        <additionalClasspathElement>${project.build.testSourceDirectory}</additionalClasspathElement>
                    </additionalClasspathElements>
                </configuration>
            </plugin>
        </plugins>
    </build>

将源文件夹添加到surefire的类路径会导致IntelliJ IDEA 12.x错误配置项目(.iml文件)并且覆盖范围停止工作。

请注意,此maven配置对IntelliJ IDEA 11.x没有任何影响,完美无缺。

要重现该错误,只需将<additionalClasspathElement>添加到您的surefire配置中,然后右键单击您的项目并执行“Maven-&gt; Reimport”,然后使用coverage运行测试;你会看到编辑错过了关于线条覆盖的所有信息。

我设法重现了这个问题,我将提交错误报告。

解决方法是注释掉<additionalClasspathElement>的两行并执行“Maven-&gt; Reimport”,然后根据需要取消注释。

错误报告IDEA-97920,它将在12.0.2中修复

答案 2 :(得分:1)

我在具有Darcula主题的Mac上使用IntelliJ 13。

我最初没有注意到绿色/红色,因为它们非常暗淡,并且不会从黑色背景中脱颖而出。

但是如果你仔细看一下行号左边的左手(如果你配置了它们),你会看到它们。

您可以轻松配置颜色,使其更加醒目。

在将来的版本中,IntelliJ应该更改默认值。