1. ホーム
  2. c++

[解決済み] Google Mock - モック関数に名前を付けるには?

2022-02-19 23:24:49

質問

Google Mockを使い始めたばかりです。 その ダミーのために はそれなりにわかりやすいと思います。

しかし、なぜこの例では

class MockTurtle : public Turtle {
 public:
  ...
  MOCK_METHOD0(PenUp, void());
  MOCK_METHOD0(PenDown, void());
  MOCK_METHOD1(Forward, void(int distance));
  MOCK_METHOD1(Turn, void(int degrees));
  MOCK_METHOD2(GoTo, void(int x, int y));
  MOCK_CONST_METHOD0(GetX, int());
  MOCK_CONST_METHOD0(GetY, int());
};

MOCK_METHOD0が複数あり、MOCK_METHOD1も複数ある、など。似たようなシグネチャを持つ関数は同じモック番号を取得するようですが、ドキュメントではこのことに触れず、how & whyを説明し、定義も同じです。 どうすればいいのでしょうか?

どのように解決するのですか?

定義方法 のセクションで、説明されています。

  1. 子クラスの public: セクションに MOCK_METHODn(); (const メソッドをモックしている場合は MOCK_CONST_METHODn();) と書き、n は引数の個数です。