Как установить GMock EXPECT_CALL для вызова двух разных функций для фиктивной функции

Как вызвать две разные функции при вызове фиктивной функции в тестируемой функции в «Тестовом наборе»?

Подробности:
Проверенная функция вызывается дважды в проверенной функции. Когда он вызывается в первый раз, он должен вызывать одну функцию (локальная функция в наборе тестов), а при вызове во второй раз он должен вызывать другую функцию (другую локальную функцию в наборе тестов).

Итак, как установить EXPECT_Call с «Invoke» для вышеуказанного требования?

6

Решение

Вы должны использовать 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 ) );
}
8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]