私はかなり確立された ASP.NET MVC アプリケーションに取り組んでいます。一連のサービスの背後にあるコア ロジックがあり、StructureMap を使用して適切な IRepositories の適切なインスタンスを挿入し、適切なデータ レイヤーとの通信を抽象化しています。また、これらのサービスに関するかなり網羅的な一連の単体テストもあります。しかし、現状では、単体テストは、データベースを表すメモリ内オブジェクト グラフを使用して一連の偽のリポジトリと対話します。
私がやりたいことは、データベースと Linq2Sql リポジトリに裏打ちされた同じ一連のテストを使用する良い方法を見つけることです。現在、#if() コンパイラ ディレクティブといくつかのフラグを使用してこれを達成するかなりゲットーな方法を見ることができますが、そこに到達するためのより良い方法があるのではないかと思います。助言がありますか?
編集:
ジェームズは元の質問に答えましたが、彼はまた、ここでの私の目標が何であるかについて私がはっきりしていないことに気付かせてくれました.
私がやりたいのは、少なくともテスト ランナー (現在はガリオ) には、これを 2 つの別個のアセンブリとして表示することです。主な理由は、単体テストと統合テストを別々に実行し、完全な DB 依存を回避できるようにするためです。