我正在使用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
},
});
代码编译得很好但是在运行时给了我一个&#39; System.ArgumentException&#39; Mock.Create电话上的错误 - &#39;其他信息:价值无效&#39;。
这个人整个上午都让我难过,我无法在任何地方找到合适的例子。有人可以告诉我正确的语法 - 它需要是一个返回的数组,而不是List。
干杯
答案 0 :(得分:3)
你不需要模拟。您正在模拟一个数组,只需通过分配您在模拟设置的Returns
部分中已经获得的值,就可以创建手动。像这样:
var labResults = new LabResult[]
{
new LabResult { ... },
new LabResult { ... },
};