他のオブジェクトを含む単一のクラスの単体テストを作成する場合、使用する最良の方法は何ですか?
オブジェクトをモックして、他のクラスに依存するテストを回避します。
例 1:
public class MyClass
{
protected MyObject _obj;
public MyClass()
{
_obj = new MyObject();
}
public object DoSomething()
{
//some work
_obj.MethodCall();
//more work;
return result;
}
}
コードの単体テストを作成するために保護された値を公開したくありません。ラッパークラスは
テスト用に動作しますが、より良い方法はありますか?
例 2:
public class MyClass
{
public object DoSomething()
{
//some work
MyObject obj = new obj(parameters);
_obj.MethodCall(Method1);
//more work;
return result;
}
public int Method1()
{ ... }
}
上記の例と似ていますが、呼び出しているメソッドでオブジェクトが作成されます。
例 3:
public class MyClass
{
public object DoSomething()
{
//some work
obj.MethodCall(Method1);
//more work;
return result;
}
public int MethodA()
{ ... }
}
デリゲートとしてのみ使用されている場合に MethodA をテストする方法はありますか?