Intellij idea 在';范围内的所有类别';在Intellij中

Intellij idea 在';范围内的所有类别';在Intellij中,intellij-idea,code-coverage,jacoco,Intellij Idea,Code Coverage,Jacoco,在Intellij IDEA 14.1.5社区版中,我导入了maven以从jacoco.exec文件获得覆盖率。接下来的步骤 右键单击导入的模块 选择分析-->显示对流数据 提供了有效的jacoc.exec文件并单击“显示所选” 我得到的错误不是覆盖范围,而是“范围内的所有类”中没有覆盖范围 有人能告诉我出了什么问题吗?我也有同样的事情发生在我身上 我可以通过“编辑配置”和“代码覆盖率”选项卡来解决此问题。 我不确定是什么原因造成的,但是这里列出了错误的包名称空间。我在那里更新了条目,随后的代码

在Intellij IDEA 14.1.5社区版中,我导入了maven以从jacoco.exec文件获得覆盖率。接下来的步骤

  • 右键单击导入的模块

  • 选择分析-->显示对流数据

  • 提供了有效的jacoc.exec文件并单击“显示所选”

  • 我得到的错误不是覆盖范围,而是“范围内的所有类”中没有覆盖范围


    有人能告诉我出了什么问题吗?

    我也有同样的事情发生在我身上

    我可以通过“编辑配置”和“代码覆盖率”选项卡来解决此问题。


    我不确定是什么原因造成的,但是这里列出了错误的包名称空间。我在那里更新了条目,随后的代码覆盖率测试运行成功。

    如果您的测试类和要测试的类位于不同的包结构中,就会发生这种情况

    我的测试班是:

    com.tools.api
    
    要测试的类位于:

    com.tools.ws
    

    一旦我在“代码覆盖率”选项卡中将模式更正为
    com.tools.*
    ,我就能够看到覆盖率结果。

    我遇到了同样的问题,并找到了解决方案

    在“代码覆盖率”选项卡中,定义以下选项:

    指定要测量代码覆盖率的范围。执行以下操作之一: 要指定类,请单击“添加类”按钮

    要指定包,请单击“添加包”按钮


    您可以尝试将jacoco降级到7.4.x或更早版本吗?我正在使用jacoco 0.7.8,并且在IntelliJ中也看到了这一点供我参考,这是因为我的测试代码和生产代码的包结构不匹配。所以我的课程是foo.bar.baz.myclass,testclass是foo.bar.mytestclass谢谢!结果表明,当您选择只运行一个测试时,IntelliJ在您希望看到的覆盖范围方面做了一个糟糕的选择。当您选择仅运行一个测试类或一个测试类包时,它将创建一个新的运行配置。它默认只记录与测试在同一包中的类的覆盖率。这给我带来了一个问题,因为我有时会将测试分包。这个答案让我明白了这一点。匹配类和测试类对于一致性和可读性来说可能是最好的,谢谢这个解决方案。我喜欢添加另一个名为“unit”或“integration”的包,因为例如,我将服务类作为单元测试(使用测试数据库)和集成测试(使用测试数据库)进行测试。我知道这可以通过命名类MyServiceUnitTest和MyServiceIntegrationTest来实现,但我喜欢额外的结构。因此,定义包含的packe解决了这个问题。