断言集合不包含项目

使用Java的hamcrest库,相反的方法是什么?

assertThat(someCollection, hasItem(someItem)) 

我想确保someCollection不包含项目someItem

这不会工作吗?

 assertThat(someCollection, not(hasItem(someItem))) 

(免责声明:我有限的hamcrest经验)

如果你需要断言一个数组,相同的逻辑使用'not(hasItemInArray())'

  final String[] availableIds = {"123", "321"}; final String userId = "333"; softAssert.assertThat("Id not found", availableIds, not(hasItemInArray(userId))); softAssert.assertAll();