使用mockito来测试抛出未捕获的自定义异常的方法

时间:2012-02-11 07:51:28

标签: java mockito custom-exceptions

如何编写基于Mockito的JUnit方法来测试此方法adduser()?我尝试写一个,但它失败了一条错误消息,说不处理异常。错误显示为:

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);
}

请告诉我如何处理测试用例中的异常情况。

1 个答案:

答案 0 :(得分:52)

在测试方法中声明异常。

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