一、前言
JDK8开始引入了流的概念,这种方式使得程序更加具有连贯性,通俗易懂。JUnit与Hamcrest结合,功能上虽然很强大了,但也有局限性。流式断言器AssertJ就对其进行了拓展,所谓的流式断言就是相较于Assert的单个校验点断言,支持一条断言语句对实际值同时断言多个校验点。
- AssertJ官方地址:http://joel-costigliola.github.io/assertj/
- AssertJ开源地址:https://github.com/joel-costigliola/assertj-core
AssertJ核心是一个Java库,它提供了流接口【fluent interface】来编写断言。其主要目标是提高测试代码的可读性,使测试维护更容易。
AssertJ核心为JDK标准类型提供断言,并且可以与JUnit,TestNG或者其他任何测试框架一起使用。
不同的AssertJ主要版本依赖于不同的Java版本:
- AssertJ 3.x requires Java 8 or higher
- AssertJ 2.x requires Java 7 or higher
- AssertJ 1.x requires Java 6 or higher
注意,AssertJ3.x包含所有AssertJ2.x特性,并添加了Java 8的特定特性(比如 exception assertions with lambdas)。
Maven依赖: