1.判断相等或不想等:
Assertions.assertThat(Object a).isEqualTo(Object b);
Assertions.assertThat(Object a).isNotEqualTo(Object b);
其中,a、b可为基础类型,也可为对象。
忽略大小写:
Assertions.assertThat("kEVin").isEqualToIgnoringCase("Kevin");
Assertions.assertThat("kEVin").isNotEqualToIgnoringCase("Kdevin");
示例:
Assertions.assertThat(1).isEqualTo(1);
Assertions.assertThat(1).isNotEqualTo(2);
Assertions.assertThat("kEVin").isEqualToIgnoringCase("Kevin");
Assertions.assertThat("kEVin").isNotEqualToIgnoringCase("Kdevin");
2.字符串前缀后缀判断:
匹配:Assertions.assertThat("kevin").startsWith("ke").endsWith("in");
不匹配:Assertions.assertThat("kevin").doesNotStartWith("de").doesNotEndWith("en");
3.包含或不包含:
Assertions.assertThat("kevin").contains("evi").doesNotContain("de");
Assertions.assertThat("kevin").containsIgnoringCase("Evi")
Assertions.assertThat("kevin").containsSequence("evi").containsSequence("evi","in")
只包含一次:Assertions.assertThat("kevinev").containsOnlyOnce("ev")
其中,contains后可以为字符串或对象,或各自数组;
doesNotContain后只能是单一对象或字符串;
·containsSequence、containsSequence、containsIgnoringCase只能跟字符串;
containsOnlyOnce后可跟字符串、对象或各自的数组;
4.字符串正则验证:
Assertions.assertThat("kevin").matches("^k(\\w){3}n$");
Assertions.assertThat("kein").doesNotMatch("^k(\\w){3}n$");
Pattern pattern = Pattern.compile("^k(\\w){3}n$");
Assertions.assertThat("kevin").matches(pattern);
Assertions.assertThat("kein").doesNotMatch(pattern);
5.为空或null判断
Assertions.assertThat("kein").isNotEmpty().isNotNull();
Assertions.assertThat("").isEmpty();
String nu = null;
Assertions.assertThat(nu).isNull();
Assertions.assertThat("").isNullOrEmpty();
Assertions.assertThat(nu).isNullOrEmpty();
6.判断集合长度:
Assertions.assertThat(Arrays.asList("name0", "name1", "name2", "naem3")).hasSize(4);
7.被包含判断:
Assertions.assertThat("name0").isIn("name0", "name1", "name2", "naem3", "ddd");
Assertions.assertThat("nam").isNotIn("name0", "name1", "name2", "naem3", "ddd");
isIn和isNotIn参数为数组或单个对象(包含基础类型)
8.集合中提取:
Assertions.assertThat(Arrays.asList("name0", "name1", "name2", "naem3"))
.extracting(x->x.charAt(x.length()-1)).contains('0','1','2','3');
9.判断集合中至少或只包含一个指定类型的元素:
Assertions.assertThat(list).hasAtLeastOneElementOfType(Object.class);
Assertions.assertThat(list).hasOnlyElementsOfType(Object.class)
10.判断对象含有某个属性或某个属性的值为指定值:
Assertions.assertThat(object).hasFieldOrProperty("name")
Assertions.assertThat(object).hasFieldOrPropertyWithValue("name","nameValue")
参考官网:http://joel-costigliola.github.io/assertj/index.html