2012-02-11 2 views
16

이 메서드를 테스트하기 위해 Mockito 기반 JUnit 메서드를 작성하려면 adduser()? 나는 하나 쓰기를 시도했지만 예외 메시지가 처리되지 않는다는 오류 메시지와 함께 실패합니다. 오류가 표시됩니다 :모조토를 사용하여 캐치되지 않은 사용자 지정 예외를 throw하는 메서드를 테스트하십시오.

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

비즈니스 클래스 addUser() 방법은 결코 어떤 예외를 catch하지 않고 rethrowing 그렇게하지 가정합니다.

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

TEST CASE의 방법 : 여기 테스트 클래스

내가 @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{ 
... 
} 
관련 문제