【问题标题】:IntelliJ 12 code coverage not working in editor for GWT ProjectsIntelliJ 12 代码覆盖在 GWT 项目的编辑器中不起作用
【发布时间】:2012-12-16 23:25:44
【问题描述】:

我正在尝试 IntelliJ 12,但在运行覆盖率测试后,我无法在编辑器中将线条着色(红色、绿色、黄色)。 有没有人注意到这个问题,或者只是我无法让它工作?

【问题讨论】:

    标签: ide intellij-idea code-coverage emma


    【解决方案1】:

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

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

    现在更容易查看覆盖状态:

    【讨论】:

    • 我使用的是 Mac OS X 和 IntelliJ 12,没有可见的彩色左侧装订线,颜色和字体也没有任何效果。
    • 请分享一个项目来重现问题。
    • 这很有趣。我刚刚尝试了一个新项目,但排水沟出现了。这让我认为这实际上是我的项目(maven 项目,具有多模块)的问题。我会尝试做更多的调查来找出原因。如果我可以在一个迷你项目中重现它,我会分享。谢谢。
    • 我们试图将项目从 maven 重新导入到新的 intellij 中,看起来我发布的奇怪行为只发生在我们的项目中。我无法弄清楚我们的项目中有什么特别之处导致了不当行为,因为我们创建了新项目来重现该问题,一切正常。在我看来,某处有一些隐藏的错误,但我还是忍不住要发现它。感谢您的帮助。
    • 很奇怪。如果您设法重现它,请在 youtrack.jetbrains.net/issues/IDEA 提交错误。
    【解决方案2】:

    最后,我发现了导致 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 中没有任何影响,可以完美运行。

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

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

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

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

    【讨论】:

    • 此错误将在 12.0.2 中修复
    • 这个错误应该在 IDEA 12.0.2 中修复(EAP 即将发布,发布将在几周左右)。
    • 这个问题也会影响对源代码目录的正常依赖! IE。当我在源目录上方添加一个目录作为编译依赖项(项目结构>依赖项)时,将不会显示覆盖结果(无论是在排水沟中还是在整行中)。此外,“覆盖范围摘要”将显示所有类别两次。这个问题在 IDEA 14.0.3 中仍然存在!
    【解决方案3】:

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

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

    但是,如果您非常仔细地查看行号左侧的左侧(如果您配置了它们),您会隐约看到它们。

    您可以轻松配置颜色以使它们更引人注目。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2012-12-10
      相关资源
      最近更新 更多