我看到了post
assertThat( myClass.getMyItems(), contains(
hasProperty("foo", is("bar")),
hasProperty("name", is("bar"))
));
和
assertThat(logsFromWaze, hasItem(
hasProperty("foo", is("bar")),
hasProperty("name", is("bar"))));
它怎么能起作用?
没有hasItem
期望一个匹配器作为参数而不是匹配器列表?
答案 0 :(得分:0)
没有hasItem
匹配器接受varargs,但您可以通过hasProperty("foo", is("bar"))
匹配器同时合并hasProperty("name", is("bar"))
和allOf
:
assertThat(logsFromWaze, hasItem(
allOf(
hasProperty("foo", is("bar")),
hasProperty("name", is("bar"))
)
));
当对检查过的Iterable
进行一次传递时,至少有一个项目与传递给allOf
的所有匹配项相匹配,此测试将成功。