繁体   English   中英

Mock.Of<foo> 为带参数的方法调用设置返回值

[英]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 });

模仿者<object> VS模拟<object> ()<div id="text_translate"><p> 我目前对如何模拟感到困惑。</p><p> 我正在使用最小起订量。 为了模拟对象,我通常这样写</p><pre> var mockIRepo = new Mock<IRepo>();</pre><p> 但是,我需要为我的设置创建模拟 object。</p><p> 选项 1 以这种方式模拟仅包含属性的我的<strong>object</strong>是否更好?</p><pre> var object = Mock.Of<Object>()</pre><p> <strong>Option2</strong>或者这样</p><pre> var object = new Mock<Object>()</pre><p> 我读过选项 2 有 setupproperties,这对我来说有点可疑,因为我也可以在选项 1 中设置属性。</p><p> <strong><em>那有什么区别呢?</em></strong> <strong><em>或者,还有更好的方法?</em></strong></p></div></object></object>

[英]Mock.Of<Object> VS Mock<Object>()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM