次のようなメソッドを持つインターフェイス(と呼ばれるIRepository
)があります。
IEnumerable<TEntity> ExecuteStoredProcedure<TEntity>(string functionName,
params Tuple<string, object>[] parameters);
単体テストを介して呼び出されたときにそのメソッドが返すものを設定しようとしています。このような:
dataAccess = Substitute.For<IRepository>();
dataAccess.ExecuteStoredProcedure<MyCustomReturnType>(null, null)
.ReturnsForAnyArgs(MyCustomReturnList);
テストを実行すると、次の例外が発生します。
NSubstitute.Exceptions.CouldNotSetReturnException: 戻る呼び出しが見つかりませんでした。
このメッセージは、実際のクラスでこれを実行しようとすることについて警告していますが、それは私には当てはまりません。
私は自分のnull
パラメータをより現実的なものに変更しようとしました:
ExecuteStoredProcedure<MyCustomReturnType>("", new Tuple<string, object>[]{null})
しかし、それは役に立ちませんでした...
この代替品で私が間違っていることはありますか?
params
(私の推測では、キーワードと関係があると思います。)