使用Moq Stub接口方法

时间:2012-05-08 20:07:02

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

  

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

这是我的界面:

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

我已经完成了一些研究,看起来你可以轻松地模拟这个,但我想用Moq将其存根,这样我就可以将存根传递给我的其他类构造函数并使存根返回任何{{1}我想要它的DateTime方法。

最简单的方法是什么?

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

1 个答案:

答案 0 :(得分:17)

像这样设置存根:

var calendarServiceStub = new Mock<ICalenderService>();

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

calendarServiceStub.Object传递给另一个类的构造函数。