在查看我的代码覆盖率时,我注意到很多单元测试未能检查 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% 的代码覆盖率。然而,这些红线在报告中有点引人注目。