assertj官方文档
1:AssertJ介绍AssertJ是一个Java库,它提供了一组丰富的断言和真正有用的错误消息,提高了测试代码的可读性。主要用于替换junit中的assert断言。
1.1:maven依赖1.2:介绍org.assertj assertj-core 3.21.0 test
Assertions是您开始使用AssertJ时唯一需要的类,它提供了您需要的所有方法。
导包:import static org.assertj.core.api.Assertions.*;1:支持的数据类型
对基本数据类型,复杂数据 类型,时间date,数字函数,类calss,对象object,文件File,输入流InputStream等支持,范围很广。
2:断言描述对于断言描述的情况进行添加说明,而不只是默认的true或者false判断。使用as关键字
as(字符串描述,对象…参数)
demo
HashMap2:实战 1:基本类型断言
@Test
public void first(){
int a=1;
int d =3;
assertThat(a).isEqualTo(d);
}
2:string的断言
@Test
public void testString() {
String str = null;
// 断言null或为空字符串
assertThat(str).isNullOrEmpty();
// 断言空字符串
assertThat("").isEmpty();
// 断言字符串相等 断言忽略大小写判断字符串相等
assertThat("Frodo").isEqualTo("Frodo").isEqualToIgnoringCase("frodo");
// 断言开始字符串 结束字符穿 字符串长度
assertThat("Frodo").startsWith("Fro").endsWith("do").hasSize(5);
// 断言包含字符串 不包含字符串
assertThat("Frodo").contains("rod").doesNotContain("fro");
// 断言字符串只出现过一次
assertThat("Frodo").containsOnlyOnce("do");
// 判断正则匹配
assertThat("Frodo").matches("..o.o").doesNotMatch(".*d");
}
3:list断言
@Test
public void three(){
ArrayList objects = new ArrayList<>();
objects.add(1);
objects.add(2);
assertThat(1).isIn(objects);
assertThat(3).isNotIn(objects);
assertThat(objects).isInstanceOf(List.class);
assertThat(objects).contains(1);
ArrayList objects2 = new ArrayList<>();
objects2.add(1);
objects2.add(2);
assertThat(objects).isEqualTo(objects2);
}
4:class类断言
@Test
public void testClass1() {
// 断言 是注解
assertThat(Magical.class).isAnnotation();
// 断言 不是注解
assertThat(Rings.class).isNotAnnotation();
// 断言 存在注解
assertThat(Rings.class).hasAnnotation(Magical.class);
// 断言 不是借口
assertThat(Rings.class).isNotInterface();
// 断言 是否为指定Class实例
assertThat("string").isInstanceOf(String.class);
// 断言 类是给定类的父类
assertThat(Person.class).isAssignableFrom(Employee.class);
}
@Magical
public enum Rings {
oneRing, vilya, nenya, narya, dwarfRing, manRing;
}
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Magical {}
public class Person {}
public class Employee extends Person {}



