2012-02-11 69 views
16

如何編寫基於Mockito的JUnit方法來測試此方法adduser()?我嘗試寫一個,但它失敗,並顯示一條錯誤消息,指出異常未處理。會顯示錯誤:使用mockito測試引發未被捕獲的自定義異常的方法

when(service.addUser("nginx")).thenReturn("apache"); 

假設商務艙addUser()方法從來沒有捕獲任何異常,並重新拋出不這樣做。

class Business { 
    public User addUser() throws ServiceException{ 
     User user = service.addUser("nginx"); 
     return user; 
    } 
} 

測試案例方法:

在這裏的測試類,我嘲笑的服務層類@Mock屬性和注射它。

@Mock 
Service service; 

@InjectMocks 
Business business = new Business(); 

@Test 
public void testAddUser() { 
    when(service.addUser("nginx")).thenReturn("apache");  
    User user = business.addUser("nginx"); 
    assertNotNull(user); 
} 

請告訴我如何處理測試用例中的異常情況。

+2

您是否知道您所測試的所有內容都是該方法返回的內容不爲空。我認爲你應該聲明它返回「apache」,因爲你確實需要檢查'service.addUser()'實際上是否被調用。 – 2012-02-11 08:22:26

回答

28

聲明測試方法中的異常。

public void testAddUser() throws ServiceException{ 
... 
} 
相關問題