不包含“ReturnsAsync”的定义和最佳扩展方法重载“ReturnsExtension”

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

无法调用此函数Validate()

出现错误 cs1929 Isetup'不包含'ReturnsAsync'的定义和最佳扩展方法重载 控制器的原始代码:

 (byte[] fc, string fe, Sheet sheet, Errors errors) = await serviceTemplateblService.Validate(uploadRequest);

当我尝试模拟此方法时,我编写如下代码

mOckServiceTemplateblService.Setup(x=>x.Validate(It.IsAny<ServiceUploadRequest>())).
ReturnsAsync(fileContent,logicSheet, new Error());

正如我上面提到的,我遇到了线路错误。请给我这方面的建议。

c# unit-testing .net-core moq
1个回答
0
投票

您的方法返回一个

Task<(byte[],string,Errors)>
。圆括号表明它是一个值元组。您还必须在
ReturnsAsync
:

处提供这些大括号
mOckServiceTemplateblService.Setup(x=>x.Validate(It.IsAny<ServiceUploadRequest>())).
ReturnsAsync((fileContent,logicSheet, new Error()));
© www.soinside.com 2019 - 2024. All rights reserved.