C# 模拟接受对象列表的函数
我想为具有以下签名的方法编写一个测试C# 模拟接受对象列表的函数,c#,asp.net,.net,mocking,tdd,C#,Asp.net,.net,Mocking,Tdd,我想为具有以下签名的方法编写一个测试 public List<CrateRecallTaskWithComms> PopulateCrateRecallTask(List<Task> listOfBaseTasks) { var crateRecallTasksWithComms = new List<CrateRecallTaskWithComms>(); foreach (var task in listOfBaseTasks) {
public List<CrateRecallTaskWithComms> PopulateCrateRecallTask(List<Task> listOfBaseTasks)
{
var crateRecallTasksWithComms = new List<CrateRecallTaskWithComms>();
foreach (var task in listOfBaseTasks)
{
// do stuff
var crateRecallTasksWithComms = new CrateRecallTaskWithComms()
{
// populate properties
}
// add to list
crateRecallTasksWithComms.Add(crateRecallTasksWithComms);
}
// return populated list
return crateRecallTasksWithComms;
}
我在<代码>处出错。如果有任何<代码>位,错误显示:
参数类型
System.Collections.Generic.List
不可分配给参数类型
System.Collections.Generic.List
我做错了什么?似乎有两个类名为
Task
我认为您的方法需要一个
System.Task
列表,但您正在使用Zenos.Intranet.Domain.Tasks.Task
列表进行设置。您可能缺少一个使用指令来消除这两种类型之间的歧义的。任务是.Net framework中的一个标准类。值得一提的是,我以前在重构代码时看到过这一点。我正在努力修复它,最后我发现我只需要重建目标类。错误消失了。
_crateRecallService = new Mock<CrateRecallsService>();
_crateRecallService.Setup(m => m.PopulateCrateRecallTask(It.IsAny<List<Task>>()).Returns());