【问题标题】:Cobertura showing wrong line coverageCobertura 显示错误的线路覆盖
【发布时间】:2018-07-30 01:57:21
【问题描述】:

我看到一个奇怪的 cobertura 报告。它说第 89 行(见截图)

siteMapItems = getItemFromPage(navParentPage, 0);

执行一次,但在此行上调用的方法 (getItemFromPage) 显示没有行覆盖。我还在方法中添加了日志,并且我还看到在执行单元测试用例期间打印了日志。

这个奇怪的报告可能是什么原因?这对我来说没有意义。

【问题讨论】:

  • 在我看来,当测试执行第 90 行时抛出异常。也许某处有一个虚假的“catch (Exception e) {}”?
  • @Rogério:不,任何地方都没有 catch (Exception e ..) 代码。此外,如果您看到第 122 行(LOG.info...)。日志打印正确。
  • 如果没有发生异常,我看不出红线的原因...也许是 Cobertura 工具中的一些错误?如果可能,您可以尝试其他工具,例如 JaCoCo。
  • 你能在某处上传一个复制案例吗?
  • 可能你只需要清理项目(删除所有生成的文件、类等)然后重新编译即可。最后再次运行测试。

标签: java code-coverage cobertura


【解决方案1】:

这种不同步问题有时是由于 java 文件和类文件不匹配而引起的。检查 cobertura 是否正在扫描正确的类文件。

【讨论】:

    猜你喜欢
    • 2018-06-13
    • 2011-04-11
    • 2013-05-28
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2016-11-19
    相关资源
    最近更新 更多