3

我有一个功能:

void setData(int *ptr) {
   *ptr = 3
};

我可以使用 Hippomock 来模拟这个函数并设置 的值ptr吗?就像是:mock.OnCallFunc(setData).With(int *ptr).Do({ *ptr = 5;});

所以我以后可以做这样的事情

int p;
setData(&p);
printf("value of p is suppose to be 5: %d\n", p);
4

1 回答 1

3

您可以使用普通函数或 lambda 编写

void setDataMock(int *ptr) {
  *ptr = 5;
}
MockRepository mocks;
mocks.OnCallFunc(setData).Do(setDataMock);
// Or
mocks.OnCallFunc(setData).Do([](int *ptr) {
  *ptr = 5;
});

int p;
setData(&p);
printf("Value of p: %d\n", p);
于 2019-05-20T08:41:53.457 回答