mockito模拟抛出异常
时间: 2023-12-08 16:31:42 浏览: 126
在Mockito中,我们可以使用doThrow()或thenThrow()方法来模拟抛出异常。如果被模拟的方法的返回类型是void,则使用doThrow()方法。例如:
```
MyDictionary dictMock = mock(MyDictionary.class);
doThrow(IllegalStateException.class)
.when(dictMock)
.add(anyString(), anyString());
dictMock.add("word", "meaning");
```
如果被模拟的方法有返回值,则使用thenThrow()方法。例如:
```
MyDictionary dictMock = mock(MyDictionary.class);
when(dictMock.getMeaning(anyString())).thenThrow(new NullPointerException("Error occurred"));
dictMock.getMeaning("word");
```
此外,我们还可以模拟抛出自定义的异常对象。例如:
```
MyDictionary dictMock = mock(MyDictionary.class);
doThrow(new IllegalStateException("Error occurred"))
.when(dictMock)
.add(anyString(), anyString());
dictMock.add("word", "meaning");
```
阅读全文