gpt4 book ai didi

c# - Mock.Of 为带参数的方法调用设置返回值

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:44 25 4
gpt4 key购买 nike

尝试找出如何使用 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 });

编辑

四处寻找后,我found this我认为我认为您正在寻找的其他语法:

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 });

关于c# - Mock.Of<foo> 为带参数的方法调用设置返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32791287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com