【问题标题】:Using Moq to Stub an interface method [duplicate]使用 Moq 存根接口方法 [重复]
【发布时间】:2012-05-17 08:31:38
【问题描述】:

可能重复:
How to mock a method that returns an int with MOQ

这是我的界面:

public interface ICalenderService
    {
        DateTime Adjust(DateTime dateToAdjust, BusinessDayConvention convention, List<HolidayCity> holidayCities);
    }

我已经做了一些研究,看起来你可以很容易地模拟这个,但我想使用 Moq 将它存根,以便我可以将存根传递给我的其他类构造函数并让存根返回任何 DateTimeI想要它的Adjust 方法。

最简单的方法是什么?

编辑:我知道我可以在我的项目中创建自己的存根,但我想编写更少的代码,我认为 Moq 可以让我这样做,我只是不知道语法是什么样的。

【问题讨论】:

  • 我不认为这个问题是重复的。另一个问题中的示例有一个无参数方法,但该接口上的方法公开了三个需要模拟的参数。

标签: c# .net unit-testing moq stub


【解决方案1】:

像这样设置存根:

var calendarServiceStub = new Mock<ICalenderService>();

calendarServiceStub
    .Setup(c => c.Adjust(It.IsAny<DateTime>(), It.IsAny<BusinessDayConvention>(), It.IsAny<List<HolidayCity>>()))
    .Returns(theDateTimeResultYouWant);

calendarServiceStub.Object 传递给其他类的构造函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多