我找不到在 Moq 中使用 When 方法的示例
When(Func<bool> condition);
该方法的目的/用途是什么?请提供一个代码示例,展示一个有用的场景。
最佳答案
“何时”让您可以选择对同一个模拟对象进行不同的设置,具体取决于您必须决定的内容。假设您想测试您编写的格式提供程序。如果程序(= 测试)在早上运行,某个函数调用应该返回 null;下午一定值。然后你可以使用“When”来编写那些条件设置。
var mockedService = new Mock<IFormatProvider>();
mockedService.When(() => DateTime.Now.Hour < 12).Setup(x => x.GetFormat(typeof(string))).Returns(null);
mockedService.When(() => DateTime.Now.Hour >= 12).Setup(x => x.GetFormat(typeof(string))).Returns(42);
关于c# - Moq When(Func<bool>) 方法的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7767253/