无法使用 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 { ... },
};
我正在使用 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 { ... },
};