3

モデル バインダーをカバーする単体テストがあります。ModelBindingContext を作成し、ValueProviderDictionary にテスト値を入力します。コントローラーがモデルを取得したら、すべてがテストでカバーされ、正しいことが起こっていると確信しています. また、BindingContext が正しければ、モデルが正しくバインドされると確信しています。私が自信を持っていないのは、ビューがポストバックされたときに BindingContext を適切に設定することです。

フォームに記入し、ポストバックし、結果のビューをチェックする WatiN テストを書き始めました。これは問題ありませんが、非常に... 間接的です。たとえば、送信をクリックした後に「注文が保存されました」と表示されるページでは、データベースにアクセスして、正しく保存されたかどうかを確認する必要があります。コントローラーに渡されたモデルが x の場合、y がデータベースに保存されることをカバーするテストが既にあります。ビュー テストでこのコードを繰り返すのはなぜですか?

私が本当に望んでいるのは、ビューにデータを入力し、送信をクリックして、(a) BindingContext または (b) ModelBinder から返されたモデルのいずれかをチェックすることです。

このようなことを行う方法に関する慣行はありますか?


これが WatiN テストに追加されることを追加したかっただけです。現在、約 50 個の WatiN テストがあります (さらに追加する必要があります)。WatiN なしで上記を実行できたとしても、ほんの一握りのテストしか削除されません。私は WatiN を使い続けるつもりですが、今はこれらのいくつかのテストのために悪用しているように感じます。

4

2 に答える 2

3

http://blog.codeville.net/2009/06/11/integration-testing-your-aspnet-mvc-application/から Steve Sanderson の MvcIntegrationTest を試すことができます。

于 2009-10-10T02:36:43.623 に答える