我想在不同的函数调用上更改不同的参数如何实现呢?

例:

EXPECT_CALL(*obj, Write(_)).WillOnce(DoAll(SaveArg<0>(&WriteObj), Return(true)));

Write()方法将被多次调用或随机调用。
在每个Write调用上,我希望将对象传递给Write()方法。我想将这些参数放在 vector 中,该怎么办?

最佳答案

最后,我用这种方式解决了我的问题。

在测试类

void SaveWritableObjects(WritableInterface * pWritableObject)
{
    WritableObjectList.push_back(pWritableObject);
}

std::vector<WritableInterface *> WritableObjectList;

并在测试功能
 EXPECT_CALL(*pMFOI, Write(_)).WillRepeatedly(DoAll(Invoke(this, &intTestErrorEvents::SaveWritableObjects), Return(true)));

关于c++ - 在不同的时间传递不同的论点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38564980/

10-15 01:39