无法使用 JustMock 模拟简单对象数组

Cannot mock simple object array with JustMock

我正在使用 JustMock 和 AutoFac 并尝试模拟一组非常简单的对象,但我似乎无法正确使用语法...

        var labResults = Mock.Create<LabResult[]>();

        Mock.Arrange(() => labResults).Returns(new LabResult[]
                                       {
                                           new LabResult
                                           {
                                               EstablishmentID = "0101",
                                               PatientID = "A11111111",
                                               EpisodeNo = 1,
                                               LabNumber = "975310A",
                                               Status = LabResultStatus.Initial,
                                               TestCode = "ABCD",
                                               DateUpdated = DateTime.Now
                                           },

                                           < snip >

                                           new LabResult
                                           {
                                               EstablishmentID = "0101",
                                               PatientID = "A11111112",
                                               EpisodeNo = 1,
                                               LabNumber = "975310A",
                                               Status = LabResultStatus.Final,
                                               TestCode = "ABC",
                                               DateUpdated = DateTime.Now
                                           },
                                   });

代码编译正常,但是当 运行 在 Mock.Create 调用时给我一个 'System.ArgumentException' 错误 - 'Additional information: Value was invalid'.

这个让我难住了一个上午,我在任何地方都找不到合适的例子。谁能告诉我正确的语法 - 它需要是返回的数组,而不是列表。

干杯

你不需要模拟。您正在模拟一个数组,它也可以 手动创建 ,只需分配您在模拟设置的 Returns 部分中已经获得的值即可。像这样:

var labResults = new LabResult[]
{ 
    new LabResult { ... },
    new LabResult { ... },
};