在 JUnit 5 中,通过引入断言抛出()方法。此方法消除了对繁琐的@Rule方法的需要,特别是在单个测试中处理多个预期异常时。
assertThrows()方法接受多个参数:
import static org.junit.jupiter.api.Assertions.assertThrows; @Test void exceptionTesting() { MyException thrown = assertThrows( MyException.class, () -> myObject.doThing(), "Expected doThing() to throw, but it didn't" ); assertTrue(thrown.getMessage().contains("Stuff")); }
在此示例中,测试期望 doThing() 方法抛出 MyException 并包含包含“Stuff”的消息。如果没有抛出异常或者消息不匹配,则测试将失败。
与@Rule相比,assertThrows()有几个优点:
JUnit 5 的assertThrows() 方法为开发人员提供了一种简洁有效的方法来在测试中断言异常抛出。通过简化流程并提供改进的错误消息,assertThrows() 使异常测试更加可靠和可维护。
以上是JUnit 5 的 `assertThrows()` 如何简化异常测试?的详细内容。更多信息请关注PHP中文网其他相关文章!