在 xunit 的 Mock 中使用返回调解器



我需要用XUnit创建一个单元测试,并在项目中使用中介器。

我在此测试中Mock有问题。

这是我的测试:

[Theory, MemberData(nameof(SubscribeDataSource.GetAddSubscribe), MemberType = typeof(SubscribeDataSource))]
public void AddSubscribe(AddSubscribeDto dto)
{
var model =OperationResult<string>.BuildSuccessResult("Success");
var mock = Mock.Setup(x => x.Send(It.IsAny<CreateSubscribeCommand>(), It.IsAny<CancellationToken>()))
.Returns<OperationResult<string>>(model);
var add = SubscribeController.AddSubscribe(dto);
}

但是我在这一行中有错误.Returns<OperationResult<string>>(model);

它向我显示此错误:

严重性代码说明 项目文件行抑制状态 抑制状态 错误 CS1503 参数 1: 无法从"Travel.Common.Operation.OperationResult"转换为"System.Func, System.Threading.Tasks.Task>>" Travel.XUnitTest E:\MyProject\Trello\Travel.XUnitTest\SubscribeTest.cs 39 活动

这是CreateSubscribeCommand类:

public class CreateSubscribeCommand : AddSubscribeDto, IRequest<OperationResult<string>>
{
public bool IsDelete { get; set; }
}

怎么了?我该如何解决这个问题?

Returns替换为ReturnsAsync

最新更新