断言
重要性:★☆☆☆☆
在四阶段测试模式的verify
阶段,我们通过各种断言证明测试的结果——方法的返回值、SUT状态的变更、对外部依赖类的调用、对数据库、文件系统造成的变更、抛出的异常等等——符合我们的预期。例如断言被测试的加法器计算2 + 2的结果是4。
JUnit Jupiter本身定义了大量的断言,全部以org.junit.jupiter.api.Assertions类上的静态方法的形式存在,如assertEquals
、assertTrue
、assertFalse
、assertNull
、assertNotNull
、assertThrows
、assertTimeout
、assertTimeoutPreemptively
等等。
但是在单元测试领域有很多更加好用的断言库,其中最有名的是AssertJ
,这也是本教程后面章节重点推介的断言库。建议直接使用AssertJ
,放弃JUnit Jupiter自带的断言。