我试图写一些测试,但我不知道如何处理设置我的moq模拟的参数。任何人都可以建议我如何正确完成这行代码? 非常感谢,
我的moq代码行
参数的类型如下所示,退货(...),我不知道如何处理。
参数intellisense
下面显示了我尝试移出的方法。
方法定义
public static async Task<CommandResult> SendSupportAsync(this IBus bus, Command command, bool withLogging = true)
更新
我已经尝试了这个建议,我添加了模拟对象并设置了返回但是编译器给出了以下错误:
An expression tree may not contain a call or invocation that uses optional arguments
答案 0 :(得分:0)
如果要模拟返回值,则可以为其创建模拟
var resultMock = new Mock<Task<CommandResult>>();
然后设置你的模拟对象,你就像
一样返回它bus.Setup(x=>c.SendSupportAsync(new TagCommand(ID, MID))).Returns(resultMock.object);
如果您不想模拟结果,那么您可以创建一个实例并像
一样返回它bus.Setup(x=>c.SendSupportAsync(new TagCommand(ID, MID))).Returns(objCommandResult);