我看到了这个post
关于之间的区别:
Matchers.hasItem(..)
Assert.assertThat(items, Matchers.hasItem(Matchers.hasToString("c")));
which states
和
Matchers.contains
但是我仍然没有区别。他们俩都在寻找一个谓词满足。没有?
最佳答案
它们几乎相同,但是Matchers.hasItem
如前所述
一旦找到匹配项将停止
然后Matchers.contains
被检查的可迭代项只能产生一项
区别在于,第一个检查是否至少有一个项目(可能是两个或多个),而第二个检查是否确实有一个项目(只有一个,没有更多)。