【发布时间】:2012-01-10 14:30:36
【问题描述】:
在查看我的代码覆盖率时,我注意到很多单元测试未能检查 finally 块,这些块试图关闭 finally 块中打开的 InputStreams。
一个示例摘录是:
try {
f = new BufferedInputStream(new FileInputStream(source));
f.read(buffer);
} finally {
if (f != null)
try {
f.close();
} catch (IOException ignored) {
}
}
}
是否有任何合适的解决方案可以使用 JUnit4 检查 finally 块中的所有内容?
我知道,在保持最大生产力的同时,无法实现 100% 的代码覆盖率。然而,这些红线在报告中有点引人注目。
【问题讨论】:
标签: java exception-handling junit4 java-6 try-catch-finally