2009-08-01 9 views
1

XAMLビュー/コントロールのテストに役立つテストフレームワークを探しています。正しいデータバインディングを検証するだけでなく、より複雑なコントロールの外観や動作をテストすることも重要です。明らかに、これは通常マニュアルテストになります。XAMLビュー/コントロールのGUIテストフレームワーク

  1. 使用どんなユニットテストフレームワークを使用して、通常のユニットテストを書く:

    私が考えていることは、このようになります。

  2. テストデータを含むビューモデルをモックします。
  3. コントロールを作成/指定し、ビューモデルと必要なリソースを提供します。
  4. (オプション)一連の手動アサーションを定義します。

このテストを実行する際には、アサーション(おそらく受け入れボタン付きのチェックボックス)と問題のコントロールを提示する必要があります。たぶんコンテナや余分なウィンドウに(おそらくWindowコントロールをテストしている場合)。

これは、コントロールを開発するとき(いくつかのテストデータを提供し、アプリケーション全体でコントロールをチェックできる)、ビジュアルスタイルとビヘイビアを検証するためのシステムテストの部分にとっては非常に便利だと思います。特別なランナーがあれば、アサーション結果を集約してより包括的なテストレポートを作成することも可能です。

私は非常に基本的なランナーを実装しましたが、それはもっと良いかもしれないと感じています。例テスト(looks like this):

public void BasicStyle() { 
    var runner = new GuiTestRunner(TestContext); 
    runner.AddResources(new Uri("pack://application:,,,/Assembly;component/Resources/RadialContextMenuResources.xaml")); 

    var contextMenu = ...; 
    runner.Container.ContextMenu = contextMenu; 

    runner.Assert("Shows a radial context menu with 7 entries."); 
    runner.Assert("Each entry has a hover animation."); 
    runner.Assert("Each entry can be clicked."); 
    runner.Run(); 
} 

答えて

3

はあなたがUI automationで見たことがありますか? ダイジェストしやすくしてからmsdnに向かうサンプルコードは、Googleの「wpf ui automation」を参照してください。