问题 来自IntelliJ的JaCoCo,Emma的分支机构覆盖范围


我正在尝试测量大型Grails应用程序的单元测试的分支覆盖率。我正在使用JaCoCo,Emma和IDEA从IntelliJ内部收集指标,我得到以下内容:

  • JaCoCo(即使是线路覆盖也没有显示指标)
  • 艾玛(产生方法和线覆盖)
  • IDEA(产生类别,方法和线路覆盖)

我最感兴趣的是JaCoCo,因为它应该默认给我分支覆盖。有人可以给我一些关于如何排除故障的提示吗?


13077
2017-12-18 17:08


起源

我有一个类似的问题,但我的是关于由IDEA覆盖运动员生成分支覆盖数据。你有没有找到解决方案呢? - yaobin
@yaobin: IntelliJ IDEA覆盖引擎目前支持Class,Method和Line coverage。目前还没有分支/阻止覆盖。 (参考: confluence.jetbrains.com/display/TCD9/IntelliJ+IDEA) - kevinarpe
实际上,在编辑器的左侧排水沟内有分支覆盖的可视指示器。 “黄色标记表示该行已部分执行,例如,如果只检查了if语句中的一个条件”(参考: blog.jetbrains.com/idea/2006/07/code-coverage) - Thariq Nugrohotomo


答案:


实际上,IntelliJ代码覆盖工具支持分支覆盖,但它不会在摘要中显示结果。查看此文章以了解如何配置它以及如何检查分支机构覆盖范围: https://confluence.jetbrains.com/display/IDEADEV/IDEA+Coverage+Runner 关键是使用跟踪而不是采样。


10
2017-09-15 15:13



请注意,跟踪仅适用于Intellij作为跑步者。 - ChiefTwoPencils