0

私はASP.Net MVCを学んでおり、コントローラーをインスタンス化して、Webサーバーにデプロイすることなくメソッドを呼び出すことができるため、ユニットテストが簡単であり、依存オブジェクトなどを簡単にモックできることを読みました. ( http://msdn.microsoft.com/en-us/library/gg416511(VS.98).aspxおよびその他の複数のリファレンスを参照)。

Selenium または Waitin を使用してブラウザから MVC アプリで受け入れレベルのテストを実行し、独自のフレームワークを使用してテストを作成および制御することもできます。

私が知りたいのは、UI を介してテストするのではなく、Specflow などから、デプロイ済みの実行中の MVC アプリケーションでコントローラー メソッドを呼び出すことによって、受け入れテスト レベルで ATDD テストを実行できるかどうかです。

または、より一般的には、テストから ASP.Net MVC アプリケーションの API をプログラムで呼び出すことは可能ですか?

単体テストとブラウザー ベースの UI テストでは、テストできる内容にギャップがあるようです。そのギャップを埋めることができた人はいますか?

4

1 に答える 1

0

あなたの質問は明確ではありませんが、私があなただと思うものを尋ねているなら:

MVC コントローラーは (一般に) RESTに従います。

コントローラーに HTTP 要求を送信することにより、(IIS などの Web サーバーを介して) コントローラーで任意のアクションを呼び出すことができます。関連するデータとデータ型 (HTML、json、XML など) を含む HTTP 応答を返します。したがって、はい、API のようなコントローラーをプログラムで呼び出すことができます ( API とは、HTTP 要求を送信して HTTP 応答を取得するものを意味する場合) ため、UI を使用せずにコントローラーをテストできます

于 2014-06-17T10:13:14.097 に答える