我有像这样的模拟函数:
virtual void MyClass::foo(const std::function<void()>& callback);
我想为 foo
设置期望:
EXPECT_CALL(MyClassMock, foo(testing::_));
然后我想在满足期望时调用收到的回调。
如何使用 gmock 做到这一点?
最佳答案
选项 #1
EXPECT_CALL(MyClassMock, foo(testing::_))
.Times(1)
.WillOnce(testing::InvokeArgument<0>());
选项 #2
EXPECT_CALL(MyClassMock, foo(testing::_))
.Times(1)
.WillOnce(testing::Invoke([](std::function<void()> f){f();}));
关于c++ - 如何在模拟期望中调用 const std::function<> 和参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40929462/