モデルバインダーを対象とした単体テストがあります。私はModelBindingContextを作成し、ValueProviderDictionaryにテスト値を設定します。コントローラーがモデルを取得すると、すべてがテストでカバーされ、適切なことが起こっていると確信しています。 BindingContextが正しい場合、私のモデルは正しくバインドされると確信しています。私が自信を持って感じないことは、私のViewがポストバックされると、BindingContextが正しくポピュレートされるということです。ASP.NET MVC - モデルバインディングのテストページ
フォームを記入し、返信して結果のビューを確認するWatiNテストを作成し始めました。これは大丈夫ですが、間接的なようです。例えば、「あなたの注文は保存されました」というページは、送信をクリックした後に表示されます。データベースに正しく保存されているかどうかを確認する必要があります。私はすでにコントローラに渡されたモデルがxで、yがデータベースに保存されているときにそれをカバーするテストを行っています。ビューのテストでこのコードを繰り返すのはなぜですか?
私が実際に望むのは、ビューを作成してサブミットし、(a)BindingContextまたは(b)ModelBinderから返されたモデルのいずれかをチェックすることです。
このようにする方法はありますか?
WatiNテストに加えて追加するとします。私はWatiNテストを50個ほど追加しました。追加する数は増えましたが、WatiNなしで上記のことができるのであれば、ほんの一握りのテストを削除するだけです。私はWatiNを何が良いのか使い続けるつもりですが、私は今、いくつかのテストでそれを悪用しようとしています。