我正在使用 googlemock 进行单元测试,并尝试模拟具有“输出数组参数”的方法:
void MyMock::myFunc(double myVal[2]).
myFunc 方法应该将值存储在 myVal 数组中。
我如何模拟这种副作用?我尝试了以下方法:
double a_mockedValues[] = {1., 2.};
ON_CALL(myMock, myFunc(_)).WillByDefault(SetArgPointee<0>(a_mockedValues));
我的意图是 myFunc 的调用者将值 1. 和 2. 接收到它传递给模拟方法的数组中。
但是,这种方法行不通。编译器这样说:
无法为数组指定显式初始化程序
有人知道如何模拟这种参数的行为吗?
谢谢你。