[英]cannot convert from 'IEnumerable' to 'IEnumerable
[TestMethod]
public async void Select_getallTask()
{
//Arrange
IEnumerable<TaskToDo> list = new List<TaskToDo>();
var mockrepo = new Mock<ITaskToDoRepository>();
mockrepo.Setup(x => x.GetTasks()).Returns(list);
//Act
var data = mockrepo.Object.GetTasks();
//Assert
Assert.AreEqual(data, list);
}
这给了我错误
mockrepo.Setup(x => x.GetTasks()).Returns(list);
错误:
Severity Code Description Project File Line Suppression State
Error CS1503 Argument 1: cannot convert from
'System.Collections.Generic.IEnumerable<ToDoApp.Models.TaskToDo>' to
'System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<ToDoApp.Models.TaskToDo>>' UnitTest_ToDoApp J:\Source\RealApp\UnitTest_ToDoApp\ListTest.cs 97 Active
回购是
public interface ITaskToDoRepository
{
Task<IEnumerable<TaskToDo>> GetTasks();
TaskToDo GetTasksById(Guid Id);
}
我希望你能理解这个问题。 谢谢
您应该在设置中使用ReturnsAsync
,如下所示
var mockrepo = new Mock<ITaskToDoRepository>();
mockrepo.Setup(x => x.GetTasks()).ReturnsAsync(list);
因为您的方法GetTasks
是Task<>
返回类型的类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.