我有一个类似于以下代码的Runnable
:
public void run() {
InputStream inputStream = null;
try {
inputStream = new FileInputStream(file);
//more stuff here
}
catch (Exception e) {
//simplified for reading
}
finally {
if(inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {}
}
}
}
我该如何测试 inputStream.close()
是否被调用?我目前正在使用Mockito和JUnit。 我知道将inputStream
注入其中是一个想法,但我不希望资源在调用 run?()
之前被使用,因此它是一个局部变量。 那么我该如何重新设计我的代码,以使我能够测试是否调用了close?