我正在使用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传递给它所传递给模拟方法的数组中。
然而,这种做法不起作用。编译器会出现类似以下的错误提示:
不能为数组指定显式的初始化程序。
有人知道如何模拟这种参数的行为吗?
谢谢。