gpt4 book ai didi

c# - 如何测试 RoutedUICommand?

转载 作者:行者123 更新时间:2023-11-28 20:55:48 25 4
gpt4 key购买 nike

我有一个正在为其构建单元测试的应用程序。对于某些操作,我使用 ApplicationCommands(例如 ApplicationCommands.New)。有没有一种简单的方法可以在单元测试中的路由 UI 命令上调用 CanExecuteExecute?我考虑过实现模拟 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 命令的方法吗?

我有命令和命令绑定(bind),但我不知道如何创建命令源和命令目标。

最佳答案

您应该测试响应路由命令的实际 ICommand 类。如果此路由命令仅由你们其中一个代码隐藏文件中的事件处理程序实现,那么我建议从这些文件中提取一个 ICommand 并对其进行测试。

测试命令是否正确路由不是您应该编写的单元测试。相反,这应该是一个可以用 coded UI testing via Visual Studio 完成的集成测试。 (或其他一些 GUI 测试框架)。

关于c# - 如何测试 RoutedUICommand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21122747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com