2011-06-29 11 views
0

ASP.NET MVCとC#を使用して作成されたウェブアプリケーションの基本ユニットテストとは何ですか?バックエンドデータベースとしてMySQLを使用しています。コントローラクラスとModelクラスの単体テストを作成する必要がありますか?私はNUnitフレームワークとNMockフレームワークを使いたい。 NMockを使用するための記事を読むと、ユニットテストにInterfaceとInterfaceを使用する必要がありますが、コードにはインターフェイスがありません。ウェブアプリケーションコードを変更してインターフェースを追加する必要がありますか?これには別の方法がありますか?ASP.NET MVCウェブアプリケーションの基本ユニットテスト

お知らせください。

多くのありがとうございます。

答えて

6

コードにタイトなカップリングがある場合、アプリケーションの各部分を単独でテストするのは難しく、依存関係をモックするのは非常に難しいでしょう。

コントローラがSomeServiceに依存する場合は、新しいインターフェイスISomeServiceを抽出し、それに依存します。これは、IoCコンテナを使用して依存関係を注入することによって、あなたを助け、疎結合コードを促進する場所です。

典型的なn層MVCアプリケーションでは、データアクセス層、サービス層(データアクセス層の依存関係を模擬する)、MVCコントローラ(サービス層の依存関係を模擬する)をユニットテストします。

私はビュー/ビューモデルをテストする傾向がありません。なぜなら、とにかくそれはかなり愚かであるからです。

+0

+1良い答え。最高のアドバイスの1つは、その件に関する良い本を購入し、それを読むことです。私はこれをすることによって多くの時間を節約しました。 –

+0

+1その2分の1。短いと甘い答えは、ポイントに。 – RPM1984

3

私が初めてMVCを起動したとき、私はPro ASP.net MVC 2の本をApressによって読んだので、MVC 3の本は数週間後に出てきますが、それを強くお勧めします。効果的な単体テストができるようにサイトを設計する方法について説明します。また、テストのためにNUnitとMoqを使用します。 http://amzn.to/iIfij4

+0

+1もこの本をお勧めします。 –

関連する問題