Met*_*002 2 java maven-2 code-coverage cobertura
我使用Maven(2)Cobertura插件创建代码覆盖率报告,我在方法中使用以下存根:
try {
System.exit(0);
} catch (final SecurityException exception) {
exception.printStackTrace();
}
System.err.println("The program never exited!");
Run Code Online (Sandbox Code Playgroud)
我知道我需要记录异常等,但现在不是重点...... Cobertura拒绝承认打印堆栈跟踪后的行被覆盖.也就是说,System.err.println语句前面带有'}'的行没有显示为覆盖.之前,该方法的结束大括号未显示为覆盖,因此System.err声明.任何想法如何说服cobertura的maven插件,因为System.err.println声明被覆盖,结束括号必须被覆盖?
哦是的,我使用模拟安全管理器抛出安全异常,因为这是我发现在System.exit调用后继续执行测试的最简单方法.
我会看一下报道报道.仔细检查我的测试.请注意,代码确实已被覆盖,并且不用担心达到100%.代码覆盖最好用于查找您可能忽略了测试的区域,但只关注将100%覆盖率作为目标是一种坏习惯,可能导致您跳过需要编写的测试,因为您的工具显示100%.使用该工具可以做什么,但不要陷入让工具定义您所做的事情的陷阱.
| 归档时间: |
|
| 查看次数: |
3922 次 |
| 最近记录: |