2012-02-11 7 views
16

このメソッドをテストするためのMockitoベースのJUnitメソッドの作成方法adduser()?私は1つ書いてみましたが、例外が処理されないというエラーメッセージが表示されて失敗しています。エラーが表示され: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

あなたがテストしているのは、メソッドがnullでないものを返すということです。あなたは本当に 'service.addUser()'が実際に呼び出されたことを確認する必要があるので、 "apache"を返すと主張するべきだと思います。 –

答えて

28

テストメソッドで例外を宣言します。

public void testAddUser() throws ServiceException{ 
... 
}