c# - 返回委托函数 NSubstitute
问题描述
我正在尝试使用 NSubstitute 测试委托函数:
_myMock.CallDelegateIfKeyMissing(Arg.Any<string>, Arg.Any<Func<Task<string>>>())
.Returns(
//The results of the delegate function "Arg.Any<Func<Task<string>>>"
);
请问这可能吗?谢谢
解决方案
您可以Func<Task<string>>
从内部访问参数Returns
并调用它:
_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 文档中有更多信息。
推荐阅读
- react-native - React Native Bottom Tab Navigator - 图标不显示
- oracle - 加载 csv 并写入带有个别错误的不良记录
- html - 在自身上添加背景图像?
- android - 在设置中进行选择时播放声音(Android 应用程序)
- android - Flutter由于源代码错误无法编译
- java - Intellij IDEA 在调试时获取远程日志
- node.js - 在对象中传递表单数据 | 爱讯
- javascript - 网站:Facebook、NodeJS+ Express:此 URL 的域不包含在应用程序的域中”
- dojox.calendar - Dojox 日历,如何设置列最小宽度?
- wordpress - 如何制作嵌入其他网站视频上传的视频播放列表。前 aparat.com