使用 mockito 测试引发未捕获的自定义异常的方法

2022-09-01 02:02:51

如何编写基于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

在测试方法中声明异常。

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

答案 2

推荐