【发布时间】:2013-03-16 06:29:32
【问题描述】:
简介:考虑以下简化的单元测试:
@Test
public void testClosingStreamFunc() throws Exception {
boolean closeCalled = false;
InputStream stream = new InputStream() {
@Override
public int read() throws IOException {
return -1;
}
@Override
public void close() throws IOException {
closeCalled = true;
super.close();
}
};
MyClassUnderTest.closingStreamFunc(stream);
assertTrue(closeCalled);
}
显然它不起作用,抱怨closed不是final。
问题:在 Java 单元测试的上下文中,验证被测函数确实调用了某些方法(如此处的 close())的最佳或最惯用的方法是什么?
【问题讨论】:
标签: java unit-testing mocking anonymous-class