2012-10-10 23 views
0
@Test(expected=FileNotFoundException.class) 
public void downloadExcelTest() { 
    stub(mockRoomService.getRoomByCode("ICU5")).toReturn(ICU5); 
    stub(mockRS.makeExcel(anyInt(), any(Room.class))).toReturn("FILE_DOES_NOT_EXIST.xls"); 
    rc.downloadExcel(mockHTTP, 1, "ICU5", mockM); 
} 

所以我試圖做一個junit測試來檢查一個異常,但它似乎並沒有捕捉到異常。當我運行測試時,它表示預期的異常未發生,但控制檯中出現以下錯誤。Junit不捕捉文件沒有發現異常

java.io.FileNotFoundException: FILE_DOES_NOT_EXIST.xls (The system cannot find the file specified) 

是我的語法錯了還是別的東西?

回答

2

如果在方法中捕獲到異常,Junit將不會檢測到異常。您需要從downloadExcel拋出異常,或者找到另一種方式來通知調用方法的錯誤。

0
public void downloadExcel() throws IOException { 
    try{ 
     ... 
    } 
    catch (NullPointerException e) { 
     throw new NullPointerException("Null exception"); 
    } 
}