クラスの偽造に問題があります:
クラス A にはメソッドがあります。
protected virtual int method(int argument)
{
implementation
return int;
}
クラス B はクラス A を拡張し、メソッドをオーバーライドします。
protected override int method(int argument)
{
int result = base.method(argument);
implementation
return result + 1;
}
クラス B をモックしてmethod
関数をテストする必要があります。base.method(argument)
問題は、関数の呼び出しを避ける必要があることです。メソッドの実装をテストし、その関数をモックして int を返すだけです。
FakeItEasyでどうすればできますか? または他のモッキングフレームワーク?
アップデート
問題の解決方法:
関数の作成:
int MethodCaller(int argument)
{
base.method(argument);
}
クラスBの「メソッド」関数でそれを実行します。MethodCaller 関数をモックするよりも