「テストスイート」のテスト済み関数でモック関数が呼び出されたときに、2 つの異なる関数を呼び出す方法は?
詳細: モック関数がテスト済み関数で 2 回呼び出されています。最初に呼び出されたときに 1 つの関数 (テスト スイート内のローカル関数) を呼び出し、2 回目に呼び出されたときに別の関数 (テスト スイート内の別のローカル関数) を呼び出す必要があります。
では、上記の要件に対して「Invoke」で EXPECT_Call を設定するにはどうすればよいでしょうか。
を使用する必要がありますWillOnce
。
このようなもの(テストされていません):
struct A
{
MOCK_METHOD0( foo, void());
};
class A_Test : public ::testing::Test
{
A a;
void bar1(){}
void bar2(){}
};
TEST_F( A_Test, test_1 )
{
EXPECT_CALL( a, foo() )
.WillOnce( Invoke( this, &A_Test::bar1 ) )
.WillOnce( Invoke( this, &A_Test::bar2 ) );
}