我在使用 NSubstitute 的推理类型进行编译时遇到问题。当我在.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 是否已更改?