2017-09-11 16 views
0

に参照引数をキャプチャ:私はそれにメソッドを呼び出すことができるようにGMock:私は参照引数を持つ嘲笑機能してい嘲笑機能

MOCK_METHOD(func, void(MyObj &obj); 

を私は変数にOBJをキャプチャしたいのですがユニットテスト。そうですね、

MyObj *capturedObj; 
EXPECT_CALL(foo, func(testing::_)).WillOnce(<capture arg into capturedObj>); 
capturedObj->bar(); 

どうすればいいですか?

答えて

0

あなたはそれのためにcustom actionを書くことができます。

ACTION_P(SaveArgAddress, p) { 
    p = &arg; 
} 

は、そのアクションを使用します。

しかし、あなたはテスト中のコードを実行する場合にのみcapturedObjが初期化されることとEXPECT_CALLが実際に呼び出しを一致した場合にのみ意識する - ないあなたがEXPECT_CALLマクロを実行した直後。

関連する問題