【发布时间】:2011-04-27 16:18:42
【问题描述】:
我有以下场景:
类接口A; 类接口B; 类接口C; 类接口A { 虚拟 void foo(InterfaceC&) = 0; }; 类接口B { 虚拟空条()= 0; }; 类接口C { 虚空 bla() = 0; }; // 模拟 模拟类A:公共接口A { 上市: MOCK_METHOD0(foo, void(InterfaceC&)); }; MockB 类:公共接口 B { 上市: MOCK_METHOD0(bar, void()); }; 类 ImplC:公共接口 C { 上市: ImplC(InterfaceA& a, Interface& b) : m_a(a), m_b(b) {} 无效 doSomething() { m_a.foo(*this); } 虚空 bla() { m_b.bar(); } }; 模拟A模拟A; 模拟B模拟B; EXPECT_CALL(mockA, foo()); ImplC impl(mockA, mockB); impl.doSomething(); // 将在 mockA 上调用 foo如果调用 doSomething,则会在 MockA 上调用 foo。如果将调用 foo,我如何触发方法 bla 的调用?是否有可能以某种方式创建如下期望:
EXPECT_CALL(mockA, foo()).WillOnce(Invoke(impl.bla()));?
我希望答案很清楚,例子也是。
提前致谢。 市场
【问题讨论】:
标签: mocking googlemock expectations