使用Moq Stub接口方法

sla*_*dau 10 .net c# unit-testing moq stub

可能重复:
如何模拟使用MOQ返回int的方法

这是我的界面:

public interface ICalenderService
    {
        DateTime Adjust(DateTime dateToAdjust, BusinessDayConvention convention, List<HolidayCity> holidayCities);
    }
Run Code Online (Sandbox Code Playgroud)

我做了一些研究,看起来你可以很容易地模拟这个,但是我想用Moq将它存根,这样我就可以将存根传递给我的其他类构造器并让存根返回DateTime我想要的Adjust方法.

最简单的方法是什么?

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

Cri*_*scu 17

像这样设置存根:

var calendarServiceStub = new Mock<ICalenderService>();

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

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