如何使用Moq生成假货列表

Flo*_*ian 5 c# moq

我想生成一个伪造列表,而不用Moq指定伪造对象的所有属性:

var mock = Mock.Of<ICalendar>(x =>
    x.GetSchedules() == new List<ISchedule> 
    {
        // I don't want specify explicitly title and other properties
        Mock.Of<ISchedule>(y => y.Title == "fdfdf" && y.Start == DateTime.Today)
    });

List<ISchedule> s = mock.GetSchedules();
Run Code Online (Sandbox Code Playgroud)

是否可以指定“规则”而不是硬编码属性?并且可以设置我想要的项目数量吗?

谢谢。

小智 6

希望这可以帮助:

int numberOfElements = 10;
var mock = Mock.Of<ICalendar>(x =>
           x.GetSchedules() == Enumerable.Repeat(Mock.Of<ISchedule>(), numberOfElements).ToList());
Run Code Online (Sandbox Code Playgroud)