为了账号安全,请及时绑定邮箱和手机立即绑定

设置一个方法来返回作为参数传递的函数的返回值

设置一个方法来返回作为参数传递的函数的返回值

C#
智慧大石 2022-06-12 11:17:16
我有:public T MethodNameHere<T>(Func<T> func){  return func.Invoke();}如何为该方法设置模拟。类似于以下内容:this.mockService.Setup(a => a.MethodNameHere(It.IsAny<Func<Guid>>())).Returns(...?...);Returns我该如何Func返回?
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

在委托中获取传递的参数Returns并调用它


this.mockService

    .Setup(_ => _.MethodNameHere(It.IsAny<Func<Guid>>()))

    .Returns((Func<Guid> func) => func());

或者


this.mockService

    .Setup(_ => _.MethodNameHere(It.IsAny<Func<Guid>>()))

    .Returns((Func<Guid> func) => func.Invoke());

参考起订量快速入门


// access invocation arguments when returning a value

mock.Setup(x => x.DoSomethingStringy(It.IsAny<string>()))

        .Returns((string s) => s.ToLower());

// Multiple parameters overloads available


查看完整回答
反对 回复 2022-06-12
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信