我看到了这个post

关于之间的区别:

Matchers.hasItem(..)

Assert.assertThat(items, Matchers.hasItem(Matchers.hasToString("c")));
which states




Matchers.contains


但是我仍然没有区别。他们俩都在寻找一个谓词满足。没有?

最佳答案

它们几乎相同,但是Matchers.hasItem如前所述


  一旦找到匹配项将停止


然后Matchers.contains


  被检查的可迭代项只能产生一项


区别在于,第一个检查是否至少有一个项目(可能是两个或多个),而第二个检查是否确实有一个项目(只有一个,没有更多)。

09-26 09:40