在審查我的代碼覆蓋率時,我注意到很多單元測試未能最終檢查嘗試關閉最終塊中打開的InputStreams的塊。單元測試最後在Java中的塊6
一個例子摘錄:
try {
f = new BufferedInputStream(new FileInputStream(source));
f.read(buffer);
} finally {
if (f != null)
try {
f.close();
} catch (IOException ignored) {
}
}
}
有沒有合適的解決方案,檢查裏面的一切finally塊使用JUnit4?
我知道在保持最大生產率的情況下,無法實現100%的代碼覆蓋率。然而這些紅線在報告中是一個引人注目的東西。
我同意。我發現在測試中重寫一個方法非常有用,但它通常是選擇合成方式的中間步驟。在這方面,C#是一個PITA,因爲方法默認情況下不是虛擬的,所以我發現我經常不得不跳過整個過程(這是令人討厭的,因爲您希望儘可能使用最小的更改)。 – 2012-01-10 14:43:55
謝謝,這正是我一直在尋找:)謝謝傑夫 – fyr 2012-01-10 14:47:04