我想为具有以下签名的方法编写测试
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;
}
我正在使用Mock
库来模拟这个方法,但是我无法让它工作!这是我到目前为止的测试代码:
_crateRecallService = new Mock<CrateRecallsService>();
_crateRecallService.Setup(m => m.PopulateCrateRecallTask(It.IsAny<List<Task>>()).Returns());
我在It.IsAny<>
位收到错误,错误显示:
参数类型
System.Collections.Generic.List<Zenos.Intranet.Domain.Tasks.Task>
是 不可分配给参数类型System.Collections.Generic.List<Task>
我做错了什么?
答案 0 :(得分:1)
似乎有两个名为Task
的类。
我认为您的方法需要System.Task
列表,但您需要使用Zenos.Intranet.Domain.Tasks.Task
列表进行设置。您可能缺少using
指令来消除两种类型之间的歧义..