2015-06-07 2 views
0

Я новичок в Google Mock. У меня есть класс A, который использует класс B. Я хочу написать тест, который проверит A, без запуска B, так как B использует внешний мир.Google Mock без использования смешного объекта напрямую (C++)

Мой вопрос: как я могу вызвать тест на A, и использовать ли он экземпляр Mocked из B?

E.g.

A a; 
Mock_B mock_b; 
EXPECT_CALL(mock_b, foo(4)); 

//test call of a 
EXPECT_EQ(0, a.bar()); 

Когда я делаю это, a использует B, а не Mock_B.

+0

Вы не можете. Класс 'A' должен использовать интерфейс, который издевается с помощью' Mock_B', а не непосредственно с экземпляром 'B'. –

ответ

0

«Как я могу вызвать тест на A и использовать ли он экземпляр Mocked из B?»

Вы не можете, если не изменить класс A использовать интерфейс B, вместо того, чтобы использовать class B экземпляр непосредственно.

Здесь подробно объясняется более подробно: Google Mock's Beginner Introduction.