私たちは、MVC、Entity Framework 4.1のコード、プロジェクトのSQL Serverを使用しています。SQLiteを使って統合テストを書く経験はありますか?
あなたの経験を共有してください:どのようにデータサービスレイヤーを単体テストしますか?データサービス層とは、ある種のDbContext派生クラス宣言を内部に持つMVCコントローラが実行するはずのサービスを意味し、このEF DbContextに依存し、データをフェッチして格納するビジネス\ dataロジックをカプセル化します。
いくつかの記事や記事を読んだ後は、個別のデータベースを使用してユニット/統合テストを作成する傾向があり、SQL Compactではなくメモリ内(SQLiteなど)を使用することをお勧めします。しかし、私はそれが可能かどうかも分かりません。もしあなたがそのような経験を持っていれば、あなたがこれを達成する方法を示すために、数行のコードを分けてください。
私もそれについて考えました。しかし、私は2つの理由から統合テストを好む:1)LINQの式が見つかる可能性が高い - 実際のデータベースを使ってSQLスクリプトのマッピングの問題が起きるのではない2)DbContextを適用したいデータサービスを隠すためにレイヤーを追加する必要がある – YMC