1

我正在创建一个 MVVM WPF 应用程序。在我的单元测试中,似乎我被迫注册一大堆 RoutedEventArgs 以在测试时传递给我的 VM 命令。虽然到目前为止我没有看到任何真正的问题,但我认为将 WPF 框架排除在我的单元测试之外会更好,例如清洁编码。我尝试模拟事件参数,但 WPF 框架抱怨事件参数未注册。我也在使用 MVVM Light。

问题是这样的:有没有办法模拟 RoutedEventArgs 以用于单元测试?你能建议一种不同的方法吗?

4

1 回答 1

1

我们在 WPF 应用程序中更多地遵循模型-视图-演示器格式,但是我们在命令 CanExecute 和 Executed 函数中获得了我们需要的内容,然后将其传递到我们的可测试表示层。您可以使用类似的技术:

private void WhateverCommand_Executed(object sender, ExecutedRoutedEventArgs e) {   
    DoSomething(e.Parameter); 
}
于 2012-04-17T21:03:52.680 回答