用不同的参数调用两次相同的方法
如何在下面做到这一点? 被测对象调用ReadAppSetting两次以获取两个不同的应用程序设置,并在找不到它时默认值。 第一次调用返回null(这意味着第一次moq设置不起作用),第二次ReadAppSetting按预期返回(moq设置工作)。
var mock = new Mock<IConfigReader>();
mock.Setup(foo => foo.ReadAppSetting("PropA", "George"))
.Returns("George");
mock.Setup(foo => foo.ReadAppSetting("PropB", "5000"))
.Returns("5000");
MyClass objectUnderTest = new MyClass(mock.Object);
...
如果模仿对象调用返回null
那么您没有提供与模拟设置上使用的完全相同的参数值。 检查你在MyClass
如何调用配置阅读器。 可能你传递了错误的键值或错误的默认值。
顺便说一句,如果你想配置读者返回所有调用的默认值,那么你可以使用单一设置:
mock.Setup(foo => foo.ReadAppSetting(It.IsAny<string>(), It.IsAny<string>()))
.Returns<string, string>((key, defaultValue) => defaultValue);
链接地址: http://www.djcxy.com/p/35339.html