2012-04-13 5 views
1

メインのSilverlightビジネスアプリケーションでは、ユーザーロールに基づいて表示および/または有効化された多くのコントロールがあります(管理者リンクの場合のみ表示される管理メニューリンクなど)。我々はコンバータを介してその可視性を制御します。ユニットのMVLS/CSLAを使用したSilverlightでのユニットテスト

私は単体テストの作成を始めています。異なる役割に基づいてこれらのコントロールの可視性をテストすることができます(そこにバグがあったら本当に悪いです)。しかし、私たちはMVVMパターンを使用しており、コントロールの名前は付けられていないので、どうすればいいのか分かりません。何かご意見は?

答えて

2

これはまさにのViewModelが対象です。あなたのビューモデルを容易にをテストすることができるはずです(あなたのケースでは、私はそれらが表示するために正しい役割を公開するかどうかを推測します)。そして、コンバータは単なる正規のクラスなので、同様にテストする必要があります。ユニットテストの点で

、あなたは本当に行うにはちょうど2つのタスクを得た:コンバータは、視認性に正しく を役割を変換するかどうか

  1. テスト
  2. ビューモデルが正しいデータを公開するかどうかのテストを

    ここでユニットテストが終了します。これらのテストでは、自分のビューに、適切なデータを与えて、自分が計画したとおりにレンダリングすることを保証する必要があります。今は、それは別のものですが、それは単体テストの範囲外です。最終テストは、受け入れテスト、品質保証、さらには自動化/スクリプト化UIテスト、さらにはしばしば人間の検証に属します。

+0

優れた答え。本当にありがとう。私が十分なポイントを持っていれば、私はそれを投票するだろう:) – Joe

0

名前付けコントロールがMVVMを何らかの形で破壊するとは思わない。

Moqを使用して、ビューモデルをモックして特定の役割をシミュレートし、MicrosoftのSilverlightテストフレームワークを次のようにシミュレートすることができます。テストを実行します。

+0

ありがとうございます。私たちがこの目的のために名前を変えなければならない多数のコントロール(あとで名前を付ける必要性が目立たず、どれも名前が付けられていないため)にコントロールの名前を付けることにそれほど反対していません。 – Joe

関連する問題