2016-08-05 158 views
1

在DAO類JUnit的異常處理測試

catch (Exception e) { 

     throw new DaoException(e); 
} 

在JUnit類

@Test 
public void testClass() throws DaoException { 
    try { 
     doThrow(Exception.class).when(testDAO).getTestData(); 
     testDAO.getTestData(); 
    } catch (Exception e) { 
     e.printStackTrace(); 

    } 

} 

無法覆蓋DaoException.Could請你幫我支付在JUnit中DAOException。

+0

你不能發送錯誤/錯誤的數據來強制異常嗎? –

+0

方法getTestData的代碼是什麼? –

回答

2

你不應該把它放在你的JUnit中的try catch塊中。 看起來你想驗證是否拋出了DaoException類。

既然你已經使用JUnit 4,下面是它的語法:

@Test(expected=DaoException.class) 
public void testClass() { 
    doThrow(Exception.class).when(testDAO).getTestData(); 
    testDAO.getTestData(); 
} 

的片段上方將通過測試,如果它拋出DaoException。