设置方法 return 作为参数传递的函数的 return 值
Setup a method to return the return value of a function passed as an argument
我有:
public T MethodNameHere<T>(Func<T> func)
{
return func.Invoke();
}
如何为该方法设置模拟。大致如下:
this.mockService.Setup(a => a.MethodNameHere(It.IsAny<Func<Guid>>())).Returns(...?...);
我如何 Returns
Func
返回的内容?
在 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
我有:
public T MethodNameHere<T>(Func<T> func)
{
return func.Invoke();
}
如何为该方法设置模拟。大致如下:
this.mockService.Setup(a => a.MethodNameHere(It.IsAny<Func<Guid>>())).Returns(...?...);
我如何 Returns
Func
返回的内容?
在 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