簡介:考慮以下簡化單元測試:測試,在一個匿名類實例的方法被調用
@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
。
問題:什麼是驗證被測功能無法在這裏調用一些方法,比如close()
,在Java單元測試方面最好,最慣用的方式是什麼?
對不起,我不知道發生了什麼,我完全誤讀了代碼。 – ppeterka 2013-03-26 13:04:21