c# - Prism WPF:如何最小化回调以返回 IDialogResult.Result == Buttonresult.ok
问题描述
我想moq以下界面:
public interface IDialogService
{
void ShowDialog(string name, IDialogParameters parameters, Action<IDialogResult> callback);
}
我将它与以下代码一起使用:
protected bool AbortDeleteDialog()
{
bool abort= true;
DialogService.ShowDialog("Should xy be deleted?", [some parameters...],
r => abort = r.Result != ButtonResult.OK);
return abort;
}
出于测试目的,我想 r.Result 有时匹配 ButtonResult.OK 有时不匹配。有没有办法用最小起订量做到这一点?
解决方案
您可以使用回调:
var mock = new Mock<IDialogService>();
mock.Setup(x => x.ShowDialog(It.IsAny<string>(), It.IsAny<IDialogParameters>(), It.IsAny<Action<IDialogResult>>())
.Callback((string name, IDialogParameters parameters, Action<IDialogResult> callback) =>
callback(new DialogResult(ButtonResult.Ok)));
...
thing.AbortDeleteDialog();
推荐阅读
- javascript - 谷歌浏览器 91 window.speechSynthesis 没有声音
- python-3.x - 我如何打印列表一的数量,后端使用python?
- vue.js - vuex 在 pwa 中只清除一次持久状态
- python - 在 Python 中显示决策树
- java - Spring Cloud Gateway 上的 CORS 配置出错
- reactjs - 由于警告,时钟组件不更新:文本内容不匹配
- javascript - 扩展运算符 JavaScript
- c# - ASP.NET Core 3.1 Web Api HttpPost Action 参数无法接收 axios application/json HttpPost 传递数据
- swift - 视觉语言检测
- nginx - 如何为任何子文件夹设置 nginx 位置