1

MVVM WPF アプリケーションを作成しています。私の単体テストでは、テスト時に VM コマンドに渡すために RoutedEventArgs の山全体を登録することを余儀なくされているようです。これまでのところ、これに関する実際の問題は見られませんが、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 に答える