只是好奇,如果可以通过AssertJ
做这样的事情:
assertThat(somePojo).isNotNull()
.extracting("someproperty")
.doesNotContainNull()
.contains(any("a", "b"))
assertThat(somePojo).isNotNull()
.extracting("othersomeproperty")
.doesNotContainNull()
.contains(any(77, 88))
any 是关于我需要用来检查属性值是否具有任何所提供值的方法的术语或表示,{{1} }对于这种情况,可以是someproperty
或a
,对于第二种情况也是如此,但根据b
或77
要评估的类型应为88
,String
等。
如果我使用anyOf
方法似乎是独特的方式是通过Integer
根据:
不确定(我做过研究而不是结果)是否可以使用其他方法并获得相同的Condition<T>
行为但没有anyOf
答案 0 :(得分:0)
尝试在3.9.0中添加的containsAnyOf
,请注意提取属性会返回一个列表(由于您只提取了一个属性,因此在您的情况下为一个元素)。
Iterable<String> abc = Arrays.asList("a", "b", "c");
// assertions will pass
assertThat(abc).containsAnyOf("b")
.containsAnyOf("b", "c")
.containsAnyOf("a", "b", "c")
.containsAnyOf("a", "b", "c", "d")
.containsAnyOf("e", "f", "g", "b");
或者,使用isIn
检查测试中的值是否在给定的值集中。