当前位置:  开发笔记 > 编程语言 > 正文

Cobertura拒绝承认代码被覆盖

如何解决《Cobertura拒绝承认代码被覆盖》经验,为你挑选了1个好方法。

我使用Maven(2)Cobertura插件创建代码覆盖率报告,我在方法中使用以下存根:

try {
    System.exit(0);
} catch (final SecurityException exception) {
    exception.printStackTrace();
}
System.err.println("The program never exited!");

我知道我需要记录异常等,但现在不是重点...... Cobertura拒绝承认打印堆栈跟踪后的行被覆盖.也就是说,System.err.println语句前面带有'}'的行没有显示为覆盖.之前,该方法的结束大括号未显示为覆盖,因此System.err声明.任何想法如何说服cobertura的maven插件,因为System.err.println声明被覆盖,结束括号必须被覆盖?

哦是的,我使用模拟安全管理器抛出安全异常,因为这是我发现在System.exit调用后继续执行测试的最简单方法.



1> tvanfosson..:

我会看一下报道报道.仔细检查我的测试.请注意,代码确实已被覆盖,并且不用担心达到100%.代码覆盖最好用于查找您可能忽略了测试的区域,但只关注将100%覆盖率作为目标是一种坏习惯,可能导致您跳过需要编写的测试,因为您的工具显示100%.使用该工具可以做什么,但不要陷入让工具定义您所做的事情的陷阱.


完美的报道是一种谬误.您需要花时间来处理复杂的代码,而不是吸气剂和制定者.覆盖范围仅在其帮助您实现付费目标的程度上才有价值 - 提供产品而非报告.
推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有