【发布时间】:2014-02-03 01:20:18
【问题描述】:
我有一个正在为其构建单元测试的应用程序。对于某些操作,我使用ApplicationCommands(例如ApplicationCommands.New)。有没有一种简单的方法可以在单元测试中的路由 UI 命令上调用 CanExecute 和 Execute?我想过实现一个模拟IInputElement,但这似乎需要做很多工作。有没有更好的办法?
[TestMethod]
public void NewDocument()
{
Assert.IsTrue(ApplicationCommands.New.CanExecute(null, mockTarget));
ApplicationCommands.New.Execute(null, mockTarget);
Assert.IsTrue(workspace.OpenDocuments.Count == 1);
}
看起来这与这个问题非常相似why-does-my-command-canexecute-always-return-false-in-unit-test? 有没有人知道在没有 ui 实际存在的情况下执行路由 ui 命令的方法?
我有命令和命令绑定,但是不知道如何创建命令源和命令目标。
【问题讨论】:
标签: c# wpf unit-testing testing routed-commands