我有以下情况:
类接口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()));
?
我希望答案很清楚,例子也很清楚。
提前致谢。市场