在xunit中的Mock中使用返回介体

问题描述 投票:0回答:1

我需要使用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; }
}

有什么问题?我该如何解决这个问题?

c# asp.net asp.net-core
1个回答
1
投票

Returns替换ReturnsAsync

© www.soinside.com 2019 - 2024. All rights reserved.