![](/img/trans.png)
[英]How to mock a class that has parameters in the constructor using Mock.Of<> syntax?
[英]Mock.Of<foo> Setting return for Method Calls With Parameters
试图弄清楚如何使用 Linq to Mock 设置具有参数的方法
Mock.Of<foo>(f=> f.Method(It.IsAny<DateTime>(), It.IsAny<DateTime>()) ==
Func<DateTime,DateTime,List<DateTime> = (date1,date2){ /*stuff*/ });
类似的东西,尝试了一些变体并在网上挖掘。 我确信我以前做过这件事,但我一生都找不到我遗漏的东西。
使用 Moq,假设您的界面是这样的:
interface foo
{
List<DateTime> Method(DateTime date1, DateTime date2);
}
我认为您正在寻找设置模拟的语法是
var bar = new Mock<foo>();
bar.Setup(f => f.Method(It.IsAny<DateTime>(), It.IsAny<DateTime>()))
.Returns<DateTime,DateTime>((date1, date2) => new List<DateTime> { date1, date2 });
编辑
四处搜索后,我发现了这个,我认为我认为这是您正在寻找的其他语法:
var bar = Mock.Of<foo>();
Mock.Get(bar).Setup(f => f.Method(It.IsAny<DateTime>(), It.IsAny<DateTime>()))
.Returns<DateTime,DateTime>((date1, date2) => new List<DateTime> { date1, date2 });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.