导入
JUnit 5 中的断言
本课程介绍 JUnit 5 中的断言。
JUnit 5 中的断言
JUnit 5 的断言帮助我们验证测试用例的预期输出与实际输出是否一致。简而言之,断言就是我们在测试中调用的静态方法,用于验证预期的行为。所有 JUnit Jupiter 的断言方法都位于 org.junit.jupiter.api.Assertions 类中。
这些方法支持 Java 8 的 Lambda 表达式,并且经过广泛重载,以支持各种类型,如基本类型、对象、流、数组等。
Assertions API 中的断言方法
| 断言方法 | 作用 |
|---|---|
| assertNull() | 断言 actual 为 null。 |
| assertNotNull() | 断言 actual 不为 null。 |
| fail() | 直接使测试失败。 |
| assertSame() | 断言 expected 和 actual 指向同一个对象。 |
| assertNotSame() | 断言 expected 和 actual 指向不同的对象。 |
| assertTrue() | 断言 actual 为 true。 |
| assertFalse() | 断言 actual 为 false。 |
| assertEquals() | 断言 expected 与 actual 相等。 |
| assertNotEquals() | 断言 expected 与 actual 不相等。 |
| assertArrayEquals() | 断言 expected 和 actual 数组相等。 |
| assertIterableEquals() | 断言预期和实际的可迭代对象在深层上相等。 |
| assertThrows() | 断言某个可执行代码会抛出指定类型的异常。 |
| assertAll() | 将多个断言分组进行断言。 |
| assertTimeout() | 断言指定的可执行代码在给定超时时间内完成。 |
| assertTimeoutPreemptively() | 断言如果可执行代码的执行超过超时时间,则会提前中止。 |
在之前的课程中,我们已经使用过一些断言,例如:fail()、assertTrue()、assertFalse() 和 assertEquals() 等。在接下来的课程中,我们将详细讨论每一种断言方法。