推論型を使用したNSubstituteのコンパイルに問題があります。ステートメントにreturn型以外のものを設定して.Do()
から、カウンターを使用して呼び出された回数を確認しようとすると、カウンターは更新されません。
文字列を返すメソッドをモックしています(基本的にはの抽象化ですFile.ReadAllText()
):
int fileReadCount =0;
IFileDataSource fs = Substitute.For<IFileDataSource>();
fs.When(x => x.ReadAllText(Arg.Any<string>())).Do(x =>
{
fileReadCount++;
return "test";
});
ドキュメントに記載されている代替フォームは、次のいずれかで機能するようです。
fs.ReadAllText("test").ReturnsForAnyArgs(x =>
{
fileReadCount++;
return "test";
});
私のカウンターは決して変わりません。
http://nsubstitute.github.com/help/return-from-function/の例に従っているので、何が間違っているのかわかりません-APIは変更されていますか?