如何验证AssertJ提取对象列表属性后所有值非空?
AssertJ中
extracting后调用isNotNull()的验证逻辑 你当前写的assertThat(theList).extracting("fieldA", "fieldB").isNotNull(),只会验证extracting方法返回的整个Iterable对象本身不为null,也就是你列出的第1种情况。
至于另外两种场景,需要用不同的断言方法:
- 要验证列表中的每个元组(即每一组提取出的fieldA和fieldB组合)都不为null:使用
noneNull()assertThat(theList).extracting("fieldA", "fieldB").noneNull(); - 要验证每个元组里的所有属性值(也就是每个fieldA和fieldB的值)都不为null:可以用两种方式实现
// 方式1:遍历每个元组验证内部属性 assertThat(theList).extracting("fieldA", "fieldB") .allSatisfy(tuple -> assertThat(tuple).allNotNull()); // 方式2:分别提取单个属性验证 assertThat(theList).extracting("fieldA").allNotNull(); assertThat(theList).extracting("fieldB").allNotNull();
内容的提问来源于stack exchange,提问作者gph
相关产品推荐
相关产品推荐

