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

Sek*_*har 29 java custom-exceptions mockito

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

when(service.addUser("nginx")).thenReturn("apache");
Run Code Online (Sandbox Code Playgroud)

假设addUser()业务类中的方法永远不会捕获任何异常,并且不会重新抛出.

class Business {
    public User addUser() throws ServiceException{
        User user = service.addUser("nginx");
        return user;
    }
}
Run Code Online (Sandbox Code Playgroud)

测试案例方法:

在测试类中,我使用@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);
}
Run Code Online (Sandbox Code Playgroud)

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

Daw*_*ica 54

在测试方法中声明异常.

public void testAddUser() throws ServiceException{
...
}
Run Code Online (Sandbox Code Playgroud)