私がgmockを理解しているから(と私は初めてです)EXPECT_CALL
は、メソッドが呼び出されたときにメソッドがどのように動作するかを指定することができます(この場合、戻る)。しかし、私は、メソッドをそのボディで明示的に定義することもできます。例:今EXPECT_CALLによるメソッドの振る舞いの指定
class MockFactory : public Factory
{
int createSomething()
{
return 5;
}
};
対
class Factory
{
int createSomething();
};
class MockFactory : public Factory
{
MOCK_METHOD0(createSomething, int());
};
int main()
{
...
int something(5);
MockFactory mockFactory;
EXPECT_CALL(mockFactory, createSomething()).WillRepeatedly(Return(something));
...
}
、createSomething
はその後、明らかに異なるシナリオで(異なるものを返す)異なる動作をした場合、私はEXPECT_CALL
を使用する必要があります。しかし、それが常に同じことを返すなら、メソッドのボディを明示的に定義するほうがよいでしょうか?