1
私はまだGoogle Mockの新しいので、私は行くように学習しています。私はちょうどいくつかの単体テストを追加しています。私は、メソッド内から呼び出されたメソッドを正しくスタブするためにON_CALL()を得ることができない問題に遭遇しました。C++ Google Mock - EXPECT_CALL() - 直接呼び出されないと期待していません
次のコードは、私が持っているものの概要を示しています。私は私のユニットテストで
class simpleClass
{
public:
bool simpleFn1() { return simpleFn2(); }
virtual bool simpleFn2() { return FALSE; }
}
:私はここに何かを明らかに不足しているしなければならない把握
class simpleClassMocked : public simpleClass
{
private:
MOCK_METHOD0(simpleFn2, bool());
}
class simpleClassTests : public ::testing::Test
{
}
TEST_F(simpleClassTests, testSimpleFn2)
{
shared_ptr<simpleClassMocked> pSimpleClass = shared_ptr<simpleClassMocked>(new simpleClassMocked());
ON_CALL(*pSimpleClass, simpleF2()).WillByDefault(Return(TRUE));
// This works as expected - simpleFn2() gets stubbed
pSimpleClass->simpleFn2();
// This doesn't work as expected - when simpleFn1 calls simpleFn2 it's not the stubbed expectation???
pSimpleClass->simpleFn1();
}
、誰でも助けることができますか?ありがとう!
あなたのモックされたメソッドは仮想である必要があります。 – PiotrNycz
Argh!それはそれでしょう。ありがとうございます:)私はそれに応じて例を更新しました。 – user7227230