Цепная реализация для Moq - PullRequest
       10

Цепная реализация для Moq

3 голосов
/ 21 октября 2011

Существует ли цепная реализация Moq? Я думал, что вместо этого:

var mockSchedule = new Mock<Schedule>();
mockSchedule.SetupGet(x => x.Date).Returns(new DateTime(2011,6,1));
mockSchedule.SetupGet(x => x.Label).Returns("Schedule A");

Я могу назвать это так:

var mockSchedule = 
    new Mock<Schedule>()
        .Which().SetupGet(x => x.Date).Returns(new DateTime(2011,6,1))
        .Which().SetupGet(x => x.Label).Returns("Schedule A");

или как это:

var mockSchedule =
    new Mock<Schedule>().
        .SetupGetWith(x => x.Date,new DateTime(2011,6,1))
        .SetupGetWith(x => x.Label,"Schedule A");

Я мог бы написать это сам, но если бы существовала реализация, я бы не стал изобретать велосипед

1 Ответ

4 голосов
/ 21 октября 2011

Вроде;есть функциональные спецификации Moq v4.

var foo = Mock.Of<IFoo>(f =>
    f.Id == 1 &&
    f.Who == "me" &&
    f.GetBar(It.IsAny<string>()) == Mock.Of<IBar>(
        b => b.Name == "Fred"));

Документация может быть лучше.У меня в блоге короткая запись .См. Также Императивные макеты старого стиля против функциональных спецификаций moq и этой темы обсуждений Moq .

...