在 Mockito 中如何验证抛出特定类型的异常?
时间: 2024-09-12 21:13:16 浏览: 40
在使用Mockito进行单元测试时,验证某个方法调用是否抛出了特定类型的异常,可以使用`verify`方法结合`Mockito`提供的异常验证功能。具体操作如下:
1. 首先,确保你已经调用了被测试的方法。
2. 使用`verify`方法来验证这个调用。
3. 调用`Mockito`的`throwsException`方法,并传入期望抛出的异常类型。
下面是一个简单的示例代码:
```java
// 假设有一个方法doSomething可能会抛出IOException
doThrow(new IOException("发生异常")).when(mockObject).doSomething();
try {
// 调用可能会抛出异常的方法
mockObject.doSomething();
fail("应该抛出异常");
} catch (IOException e) {
// 捕获到IOException,说明异常验证通过
}
// 验证doSomething方法是否抛出了IOException
verify(mockObject).doSomething();
Mockito.verify(mockObject, Mockito.times(1)).doSomething();
Mockito.verify(mockObject).doSomething();
```
在这个例子中,`doThrow(new IOException("发生异常")).when(mockObject).doSomething();`这行代码配置了`mockObject`的`doSomething`方法在被调用时应该抛出一个`IOException`。`verify(mockObject).doSomething();`这行代码用于验证`doSomething`方法是否按照预期抛出了异常。
阅读全文