5

ASP.NET WebFormsでは、Seleniumを使用して、多数のプロジェクトでWebテストとUIテストを記録および実行しました。

ASP.NETMVCでコントローラーとモデルを非常に簡単に単体テストできることを知っています。

ビューはどうですか?

ビューもテストしますか?コントローラアクションによってレンダリングされるビューに、期待されるロジックと動作が含まれていることを確認する方法がない場合はどうすればよいですか?

WatiNやSeleniumなどのWebFormsで使用されているのと同じWebテストツールをここでも使用できると思いますが、わかりませんか?

もしそうなら、WebFormsのWebTestingとMVCのWebTestingの違いは何でしょうか?

4

2 に答える 2

8

ビューはどうですか?

Erm、Selenium、WatiN。

本当に、統合テストに関する限り、ASP.NETMVCビューが従来のASP.NETWebFormsと異なると思う理由は何ですか?つまり、彼らは皆、一日の終わりにHTMLを吐き出します。それがブラウザやSeleniumのようなものが理解していることです。このHTMLを誰が吐くかはそれほど重要ではありません。統合テストで気になるのは、ユーザーのラムダがガンマテキストフィールドにベータを入力した後にボタンアルファをクリックするとWelcome User Phi、結果のHTMLページでこれを取得したということです。ASP.NET MVCのようなものや、ASP.NETMVCビューのようなものは本当に気にしません。

ちなみに、PHPではSeleniumとWatiNを使用できます。または、Javaサーブレットのファンなら、Javaサーブレットを使用します。使用しているサーバー側のテクノロジは重要ではありません。統合テストで重要なのは、以前に定義したシナリオです。

もしそうなら、WebFormsのWebTestingとMVCのWebTestingの違いは何でしょうか?

なし。

于 2013-01-03T21:34:25.767 に答える
1

ブラウザ駆動の統合テストに関しては、ASP.NET MVCとWebFormsには違いがあると思います。これらのフレームワークのサーバー側の側面が異なると、テストアプローチも異なります。

Selenoなど、これを支援するフレームワークを取り上げます。ボンネットの下でSeleniumを使用しますが、すべてのブラウザー操作をC#ページオブジェクトに抽象化し、C#テストで非常に流暢に使用できます。

ボタンのクリックやテーブルからのデータの抽出など、多くの一般的なブラウザ自動化操作を支援する拡張機能や規則がたくさんあります。

しかし、なぜ私はこの質問への答えとしてこれを持ち出すのですか?Selenoは、.NET MVCに特に便利です。これは、ページオブジェクトを汎用的に指定し、特定のビュー(または部分ビュー)のViewModelに入力して、そのビューに対応するページオブジェクトを書き込むときに強い型指定の関連付けを作成できるためです。

この種のアプローチを開くのは、MVCのViewModelの側面です。WebFormsでこれを行うのは難しいと思います。

于 2013-01-03T21:59:30.517 に答える