assertj 断言

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

转载于:https://my.oschina.net/kevin2kelly/blog/1647774

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值