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