最小起订量,Setup()和Return()之间的类型不匹配

时间:2019-04-04 02:52:40

标签: c# .net asp.net-core moq

我有一个界面:

public interface IPeopleService
{
    Task<List<Person>> GetPeople();
}

这是我的代码,用于模拟请求的返回:

List<Person> people = ...;
var mockPeopleService = new Mock<IPeopleService>();
 mockPeopleService.Setup(ps => ps.GetPeople()).Returns<Task<List<Person>>>(Task.FromResult(people));

无论我做了什么,错误仍然存​​在.....

enter image description here

尝试使用ReturnAsync()后,会向我显示此错误:

mockPeopleService.Setup(ps => ps.GetPeople()).ReturnsAsync(people);

enter image description here

更新2:

enter image description here

1 个答案:

答案 0 :(得分:4)

您的方法存在的问题是您正在使用此方法:

IReturnsResult<TMock> Returns<T>(Func<T, TResult> valueFunction);

在您的示例中,使用该重载没有任何意义。只需放下T。使用ReturnsAsync也可能有用。

mockPeopleService.Setup(ps => ps.GetPeople()).ReturnsAsync(people);