我剛開始在單元測試工作(使用測試BOOST框架,但嘲笑我必須使用谷歌模擬),我有這樣的情況:谷歌模擬單元測試
class A
{
A(){}
virtual int Method1(int a, int b){return a+b;}
};
class B
{
static int Method2(int a, int b){ return A().Method1(a,b);}
};
是否有可能做測試的類B,這樣使用嘲弄的Method1而不是真實的方法,但不能改變類B? 我知道這會很容易:
class B
{
B(A *a):a_in_b(a){}
static int Method2(int a, int b){return a_in_b->Mehod1();}
A *a_in_b;
};
無法讀取gmock食譜,而不b變更 –