我正在使用gtest和gmock,并希望对通过集合调用的函数设置期望。我要确保此集合包含几个元素。
像这样:EXPECT_CALL(*mView, SetHighlightedCells(Contains(AllOf(c5, c6))));
我知道我可以指定全套EXPECT_CALL(*mView, SetHighlightedCells(UnorderedElementsAre(c5, c6, ...and all the rest..)));
要么EXPECT_CALL(*mView, SetHighlightedCells(UnorderedElementsAreArray(vector_containing_c5_c6_and_ALL_other_elements)));
但是我对传递的所有其他元素不感兴趣,我只需要确保此集合包含c5
和c6
。
最佳答案
仅查看文档AllOf()
需要一堆匹配器,其中之一是:
Contains(e)
参数包含与e匹配的元素,该元素可以是值或匹配器。
所以我猜:
EXPECT_CALL(*mView, SetHighlightedCells(AllOf(Contains(c5), Contains(c6))));