在 gmock 中,有没有办法让模拟对象 return 成为用户定义对象的实例?

In gmock, Is there a way to have mock object return an instance of an user defined object?

出于 UT 目的,我正在尝试模拟一个函数,该函数 return 是用户定义结构的向量。

std::vector<myStruct> myClass::foo()

在 gmock 中,有没有办法做这样的事情:

 std::vector<myStruct> TestVector;
 //code to populate my vector ....

 ON_CALL(MockMyClass, foo()).WillByDefault(Return(TestVector))

我在 gmock 说明书中找不到任何内容,看起来 return 值都是原始值。谢谢

我最终使用了 ReturnPointee

https://code.google.com/p/googlemock/wiki/CookBook#Returning_Live_Values_from_Mock_Methods

std::vector * ptr;

//实例化并填充向量...

ON_CALL(MockMyClass, foo()).WillByDefault(ReturnPointee(ptr));