我有以下模拟方法:
MOCK_METHOD1(send, void(const std::vector<int>& data));
如何检查是否使用特定参数调用该方法,例如std::vector<int> vec{1,2,3}
?
答案 0 :(得分:2)
根据container matchers上的gmock文档,对于建议的用例,您可以这样做:
EXPECT_CALL(mockObj, send(std::vector<int>{1,2,3}).Times(1);
答案 1 :(得分:1)
假设你的模拟对象名为mockObj
,这就是你如何将参数与所需的向量匹配:
std::vector<int> dataToMatch{ 1, 2, 3 };
EXPECT_CALL(mockObj, send(ElementsAreArray(dataToMatch.cbegin(), dataToMatch.cend())))
.WillOnce(Return());