JUnit 5中如何处理预期异常?
时间: 2024-09-14 09:12:36 浏览: 41
JUnit 5中处理预期异常可以通过使用`assertThrows`方法来实现。`assertThrows`是一个断言方法,它允许测试代码执行并期望抛出一个异常。当你想要测试的方法可能会抛出一个特定类型的异常时,可以使用这个方法来确保预期的异常被正确地抛出。
以下是`assertThrows`方法的一个简单使用示例:
```java
import static org.junit.jupiter.api.Assertions.assertThrows;
public class ExceptionTest {
@Test
public void testException() {
// 这里我们期待调用一个方法时会抛出特定类型的异常
Exception exception = assertThrows(UnsupportedOperationException.class, () -> {
// 代码块中是调用可能会抛出异常的方法
throw new UnsupportedOperationException("不支持的操作");
});
// 还可以进一步断言异常消息
assertEquals("不支持的操作", exception.getMessage());
}
}
```
在这个例子中,我们期待在执行给定的lambda表达式时抛出`UnsupportedOperationException`异常。如果异常没有被抛出,或者抛出的不是预期的异常类型,那么测试会失败。