私は Google Mock を初めて使用し、このコードを試していました。このリンクも確認しました。
実際の関数呼び出し回数が EXPECT_CALL(*mock, display()) と一致しない
しかし、適切な入力を得ることができませんでした。
Base.cc
class Base
{
int val;
string msg;
public:
Base():val(0), msg("world"){}
virtual ~Base(){}
virtual void set(int x, string msg)
{
this->val = val;
this->msg = msg;
}
virtual void get()
{
cout << "val :" << this->val << endl;
cout << "msg :" << this->msg << endl;
}
};
class MockBase : public Base
{
public:
MOCK_METHOD0(get, void());
MOCK_METHOD2(set, void(int val, string msg));
};
Base_unittest.cc
int main(int argc, char * argv[])
{
std::cout << "in main" << endl;
::testing::InitGoogleTest(&argc,argv);
return RUN_ALL_TESTS();
}
TEST(Base, case1)
{
MockBase obj;
EXPECT_CALL(obj, get()).WillOnce(::testing::Return());
}
TEST(Base, case2)
{
MockBase obj;
EXPECT_CALL(obj, set(2,"hello")).WillOnce(::testing::Return());
}
エラーが発生しています:
実際の関数呼び出し回数が EXPECT_CALL(obj, get()) と一致しません...
実際の関数呼び出し回数が EXPECT_CALL(obj, set(2,"hello")) と一致しません...
初心者向けのチュートリアルがあれば参照してください。