我正在使用 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”错误 - “附加信息:值无效”。
这个让我难住了整个上午,我在任何地方都找不到合适的例子。谁能告诉我正确的语法 - 它需要是返回的数组,而不是列表。
干杯
最佳答案
你不需要模拟。您正在模拟一个数组,它可以手动创建,只需分配您在模拟设置的 Returns
部分中已经获得的值即可。像这样:
var labResults = new LabResult[]
{
new LabResult { ... },
new LabResult { ... },
};
关于c# - 无法使用 JustMock 模拟简单对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30497352/