2015-09-24 20 views
2

是否有可能返回這將調用調用後得到的值? 例如,使用GTEST可以返回調用的函數的值

int foo(int a, int b) {return a+b;} 

class FooMock { 
    MOCK_METHOD0(MockMethod, int(int a, int b)); 
} 

void bar() 
{ 
    FooMock mock; 
    EXPECT_CALL(mock,MockMethod(_,_)).WillRepeatedly(DoAll(Invoke(foo),Return(result_of_foo))); 
//Firstly foo should be invoked, secondly, result of function should be returned as result of MockMethod 
} 

如何使result_of_foo等於導致函數foo的? 或者確實存在另一種返回計算值的方法?

回答

5

它比你想象的更簡單。如果您的函數是Invoke,則返回的值將是函數返回的值。

EXPECT_CALL(mock,MockMethod(_,_)).WillRepeatedly(Invoke(foo)); 
相關問題