maven依赖:
<!-- https://mvnrepository.com/artifact/org.assertj/assertj-core -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.10.0</version>
<scope>test</scope>
</dependency>
具体代码如下:
import org.testng.annotations.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.withinPercentage;
import static org.assertj.core.util.DateUtil.parse;
import org.joda.time.DateTime;
public class Test{
@Test
public void testAssertJ() {
//对象null判断
Object object = null;
assertThat(object).isNotNull();
assertThat(object).isNull();
//判断数据大小
Double ss =-0.3 ;
assertThat(ss).isBetween(-0.3,99.0);
assertThat(ss).isStrictlyBetween(0.4,0.9);//[0.4,0.9]
assertThat(ss <= 0.53).isTrue();
assertThat(ss).isCloseTo((0.4189), withinPercentage(1.0));//误差在百分之1
assertThat(ss).isEqualTo(-0.3);
assertThat(ss).isGreaterThan(-0.56).isGreaterThanOrEqualTo(-0.56);
assertThat(ss).isLessThan(0.6).isLessThanOrEqualTo(0.6);
assertThat(ss).isZero();
assertThat(ss).isPositive().isNotNegative();// 断言正数 非负数
assertThat(ss).isNegative().isNotPositive();// 断言负数 非正数
//判断list
List list = new ArrayList();
assertThat(list).isIn(new ArrayList(), new HashMap());
assertThat(list).hasSize(2);
// 字符串断言null或为空字符串
String str = null;
assertThat("abc").as("校验abc").isEqualTo("abcd");//添加错误提示
assertThat(str).isNullOrEmpty();// 断言空字符串
assertThat("").isEmpty();// 断言字符串相等 断言忽略大小写判断字符串相等
assertThat("Aaaa").isEqualTo("Aaaa").isEqualToIgnoringCase("frodo");
assertThat("Abcd").startsWith("Ab").endsWith("cd").hasSize(4);// 断言开始字符串 结束字符穿 字符串长度
assertThat("Abcde").contains("bcd").doesNotContain("abc");// 断言包含字符串 不包含字符串
assertThat("Abcde").containsOnlyOnce("cd");// 断言字符串只出现过一次
assertThat("Abcdef").matches("..c.e").doesNotMatch(".*d"); // 判断正则匹配
//判断日期
assertThat(parse("2014-02-01")).isEqualTo("2014-02-01").isNotEqualTo("2014-01-01").isAfter("2014-01-01").isBefore(parse("2014-03-01"));// 断言与指定日期相同 不相同 在指定日期之后 在指定日期之前
assertThat(DateTime.now().toDate()).isBeforeYear(2020).isAfterYear(2013); // 断言 2014 在指定年份之前 在指定年份之后
assertThat(parse("2014-02-01")).isBetween("2014-01-01", "2014-03-01").isNotBetween(parse("2014-02-02"), parse("2014-02-28"));// 断言时间再指定范围内 不在指定范围内
assertThat(newArrayList()).isEmpty();// 断言 list是空的
assertThat(newArrayList(1, 2, 3)).startsWith(1).endsWith(3);// 断言 list的开始 结束元素
assertThat(newArrayList(1, 2, 3)).contains(1, atIndex(0)).contains(2, atIndex(1)).contains(3).isSorted();// 断言 list包含元素 并且是排序的
assertThat(newArrayList(3, 1, 2)).isSubsetOf(newArrayList(1, 2, 3, 4));// 断言 被包含与给定list
assertThat(newArrayList("a", "b", "c")).containsOnlyOnce("a");// 断言 存在唯一元素
//判断map
Map<String, Object> map = Maps.newHashMap();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
assertThat(map).isNotEmpty().hasSize(3);//map 不为空 size
assertThat(map).contains(entry("A", 1), entry("B", 2));// map 包含元素
assertThat(map).containsKeys("A", "B", "C");//map 包含key
assertThat(map).containsValue(3);// map 包含value
}
}