JUnit 5 中的异常断言
在 JUnit 5 中,通过引入assertThrows( )。此方法提供了一种更简洁、更方便的方法来验证异常行为,特别是当同一测试中预期出现多个异常时。
以前,开发人员依靠 @Rule 注解来检查异常,但这种方法有局限性当涉及多个异常时。另一方面,assertThrows() 允许灵活且可定制的异常测试。
通过利用 Java 8 lambda,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")); }
在此示例中,assertThrows() 用于检查 doThing() 方法在调用时是否抛出 MyException。作为第二个参数传递的 lambda 表达式定义了预期引发异常的代码。第三个参数提供了在断言失败时显示的可选消息。
通过使用assertThrows(),开发人员可以简化异常测试代码,在单个测试中轻松断言多个异常,并提供清晰且信息丰富的信息。断言失败时的错误消息。
以上是JUnit 5 的 `assertThrows()` 如何简化异常断言测试?的详细内容。更多信息请关注PHP中文网其他相关文章!