1

私は新しい MVC プロジェクトを始めたばかりで、いい子のように、DB に行くのをできるだけ延期しようとしています。ここにスクープがあります:

  1. ComponentModel.DataAnnotations 装飾を使用する予定です。
  2. LinqToSql も使用する予定です

DataAnnotations メタデータ クラスに対して単体テストを作成することは可能ですか? できるだけ遅くなるまでそのようなスキーマを入れたくありませんが、モデルを検証するためのテストを書きたいと思っています。

良いアプローチに関するアイデアはありますか?もしかして、全然違うもの?

4

1 に答える 1

1

Brad Wilsonは、DataAnnotationsの使用とそれらの単体テストに関するすばらしいブログ投稿を書きました。http://bradwilson.typepad.com/blog/2009/04/index.html

テスト戦略の要点は次のとおりです。

  1. デフォルトのバインダーとしてDataAnnotationsModelBinderを使用していることを確認するためのテストを作成します。
  2. リフレクションを使用して、モデルプロパティを装飾したDataAnnotation属性が期待どおりであることを確認します。
  3. コントローラの編集または作成アクションをテストするときは、ModelErrorを人為的に挿入して、期待どおりに処理していることをテストします。

理論的根拠は、System.ComponentModel.DataAnnotationsをインフラストラクチャの一部のように扱い、それをどのように利用したかをテストすることです。

于 2009-07-17T18:10:10.447 に答える