実現したいこと
googletestとgooglemockを用いて関数をスタブ化したい。
具体的には以下のコードのテスト対象であるinit()関数内で呼ばれているCreate()関数をスタブ化しnullptrを返すようにしたい。
前提
C++のテストを行っているのですが、
googletestとgooglemockを用いたモックの仕組みが分かりません。ご教授願います。
該当のソースコード
C++
1MyClass* MyClass::Create(void) 2{ 3 return new Myclass(); 4}
C++
1namespace myspace 2{ 3 4 static MyClass* myClassptr = nullptr; 5 6bool init(const SubClass &subClass) 7{ 8 if (nullptr == myClassptr) 9 { 10 myClassptr = MyClass::Create(); 11 } 12 13 if (nullptr == myClassptr) 14 { 15 return false; 16 } 17 18 bool ret = myClassptr->Init(subClass); 19 if(!ret) 20 { 21 //fugafuga(); 22 } 23 24 return ret; 25}

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。