次のシナリオがあります。
クラスInterfaceA;
クラスInterfaceB;
クラスInterfaceC;
クラスInterfaceA
{{
virtual void foo(InterfaceC&)= 0;
};
クラスInterfaceB
{{
仮想ボイドbar()= 0;
};
クラスInterfaceC
{{
仮想ボイドbla()= 0;
};
//モック
クラスMockA:パブリックインターフェイス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){}
void doSomething(){
m_a.foo(* this);
}
仮想ボイドbla()
{{
m_b.bar();
}
};
MockA mockA; MockB mockB; 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()));
?
答えが明確で、例もあることを願っています。
前もって感謝します。マート