C# 模拟单元测试中的对话框
请建议如何使用moq在单元测试中模拟以下类型的对话框C# 模拟单元测试中的对话框,c#,unit-testing,moq,viewmodel,C#,Unit Testing,Moq,Viewmodel,请建议如何使用moq在单元测试中模拟以下类型的对话框 void ShowDialog(string windowName, string parentWindowName, Dictionary<string, object> inputFields, Action<Dictionary<string, object>> closeCallBack, Dictionary<string, object> windowPropert
void ShowDialog(string windowName, string parentWindowName,
Dictionary<string, object> inputFields,
Action<Dictionary<string, object>> closeCallBack,
Dictionary<string, object> windowProperties = null);
void ShowDialog(字符串windowName、字符串parentWindowName、,
字典输入字段,
行动结束回调,
字典窗口属性=null);
我尝试过以下方法,但不起作用:
UIServicemock.Setup(u => u.ShowDialog(It.IsAny<string>, It.IsAny<string>,
It.IsAny<Dictionary<string,object>>,
It.IsAny<Action<Dictionary<string, object>>>,
It.IsAny<Dictionary<string,object>>));
UIServicemock.Setup(u=>u.ShowDialog(It.IsAny,It.IsAny,
是的,伊桑,
是的,伊桑,
是的,是的;
我想我缺少语法。这个It.IsAny()
调用是一个方法,因此需要在它后面加括号:
UIServicemock.Setup(u => u.ShowDialog(It.IsAny<string>(), It.IsAny<string>(),
It.IsAny<Dictionary<string,object>>(),
It.IsAny<Action<Dictionary<string, object>>>(),
It.IsAny<Dictionary<string,object>>()));
UIServicemock.Setup(u=>u.ShowDialog(It.IsAny(),It.IsAny(),
It.IsAny(),
It.IsAny(),
It.IsAny());
您好,非常感谢,但是现在的问题是如何在这个方法的回调中传递参数,因为这个方法采用回调类型的参数(因此它将调用另一个方法)在它最后的第二个参数中。这是一个不同的问题-我将为此打开一个新问题-显示实际执行您正在模拟的调用的代码,因为它将提供更多上下文请打开新问题,您的回答将非常有用:函数调用:uiService.ShowDialog(ViewName.UnlockScriptPasswordDialog,StudioViewName.MainWindow,passwordDictionary,this.OnUnlockScriptSetCallBack,null)我的意思是你需要打开这个问题。毕竟,是你想要答案,不是吗?我为这个链接打开了另一个问题: