繁体   English   中英

返回委托函数 NSubstitute

[英]Returns delegate function NSubstitute

我正在尝试使用 NSubstitute 测试委托函数:

_myMock.CallDelegateIfKeyMissing(Arg.Any<string>, Arg.Any<Func<Task<string>>>())
.Returns(
   //The results of the delegate function "Arg.Any<Func<Task<string>>>"
);

请问这可能吗? 谢谢

您可以从Returns访问Func<Task<string>>参数并调用它:

_myMock
    .CallDelegateIfKeyMissing(Arg.Any<string>(), Arg.Any<Func<Task<string>>>())
    .Returns(
        x => x.Arg<Func<Task<string>>>().Invoke()
    );

var result = _myMock.CallDelegateIfKeyMissing("hi", () => Task.FromResult("world"));

Assert.Equal("world", result.Result);

NSubstitute 文档中有更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM