単体テストの作業を始めたばかりです(テストにはBOOSTフレームワークを使用していますが、モックの場合はGoogle Mockを使用する必要があります)。このような状況が発生しています。
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のテストを行うことは可能ですか?そのようにして、実際のメソッドの代わりにモックされたメソッド1を使用しますが、クラス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;
};