Google Mock:返回()一个值列表

Jon*_*han 4 c++ return-value googlemock

通过Google Mock的Return(),您可以返回调用模拟函数后返回的值.但是,如果期望多次调用某个函数,并且每次希望它返回不同的预定义值.

例如:

EXPECT_CALL(mocked_object, aCertainFunction (_,_))
    .Times(200);
Run Code Online (Sandbox Code Playgroud)

你如何让aCertainFunction每次返回一个递增的整数?

Jon*_*han 5

使用顺序:

using ::testing::Sequence;

Sequence s1;
for (int i=1; i<=20; i++) {
    EXPECT_CALL(mocked_object, aCertainFunction (_,_))
        .InSequence(s1)
        .WillOnce(Return(i));
}
Run Code Online (Sandbox Code Playgroud)