1

私は MVVM を使用して WPF アプリケーションを作成しているので、App で OnStartup をオーバーライドしてビューの ViewModel を設定しています。すぐに、職場では、done の定義に 100% のコード カバレッジが含まれるようになるので、今は自宅で自分のプロジェクトに慣れようとしています。この関数をテストする方法がわかりません:

public partial class App : Application
{
  protected override void OnStartup(StartupEventArgs e)
  {
    base.OnStartup(e);

    ViewModel.MainViewModel vm = new ViewModel.MainViewModel();
    View.MainView v = new View.MainView();
    v.DataContext = vm;
    v.Show();
  }
}
4

1 に答える 1

2

ニック、これを仕事にフィードバックすることをお勧めします。基本的に、100% のカバレッジが通常、ほとんどの人が遵守する標準ではない理由の完璧な例を見つけました。個人的には、私が働いている会社にはもっと現実的になるようアドバイスしています。カバレッジ % が上がるほど収益が減少する場合があり、UI アプリケーションの場合は、実際に何をテストするのかを自問することで、多くの時間を節約できます。

あなたが持っているコードは、ビューモデルでアプリケーションビューウィンドウを表示しようとしています. これを確認する簡単な方法を提供するために、 WhiteWiPFlashなどのライブラリを使用できますが、実際に行ったことは、Windows がその仕事を完了したことを確認することだけです。後で、ボタンをクリックすると値がテキストボックスに表示され、これにはより多くの値が表示されることをテストする場合がありますが、ViewModel コマンドを呼び出して後でビューモデルの状態をチェックすることで簡単にシミュレートできます。

どちらを選択するかは自由です。両方を試してみることをお勧めしますが、最近では、すべてのカバレッジ カウントから View 名前空間を除外しています。

于 2012-09-17T09:24:14.963 に答える