この 2 か月間、私は新しい MVC フレームワークを学ぼうと努めてきました。すべてのオブジェクト指向の概念を理解した後、MVC3、EF4 と DbContext、および ASP.Net メンバーシップ プロバイダーを使用してテスト サイトを作成しました。すべてが順調に進んでいました。次に、単体テストから始めて、テストに飛び込んで学ぶことにしました。
キーボードに頭をぶつけ続けて 2 週間が経ちましたが、今ではできる限りの不満を感じています。私は、たくさんのビデオ チュートリアル (TekPub、Plural-sight)、オンライン チュートリアル (ASP.Net、Microsoft など)、および StackOverflow の質問/回答をたくさん見てきました。ルース カップリング、依存性注入、リポジトリ、インターフェイス、スタブ、モック (ファウラーの記事を何度も読んでいます)、シム、ラムダ、リファクタリング... リストは延々と続きます( ...そして続きます。) Ninject、Structuremap、Moq、TypeMock、JustMock、nUnit、xUnitなどを見てきました...
だから私はこの猫の皮を剥ぐ方法がたくさんあることを知っています. 現在、VS11/MVC4 が出てきており、Fakes と呼ばれるものがあり、Membership などの静的メソッドに適しているようです。
私の質問:
MVC EF4/DbContext/Membership アプリケーションをテストしたいと考えています。私のページのほとんどは、認証されたユーザー [Authorize] を必要とします。それは、テストする実際のメソッドに到達する前です。
(私のように) 始めたばかりの場合、CRUD アプリケーションをテストするための最も簡単で簡単な方法は何ですか? プロダクション側で DI フレームワークを実行するのは必ずしも好きではありません (もう 1 つの問題が発生する可能性があります)。
VS11/MVC4 にアップグレードして、Fakes アプローチを試すことができました。少し単純に見えますが、EF のものにはすべてのリポジトリ/インターフェイスが必要なようです。
それとも、それをやめて、Selenium のような統合テスト ツールを使用しますか?
どんな提案でも大歓迎です。お粗末な質問で申し訳ありませんが、ここで一筋の光を望んでいます...