3

を含む巨大なアプリケーションがあります

  • Web レイヤー - MVC
  • サービス層 - Web API
  • ドメイン層
  • DB レイヤー - EF 5 コード ファースト

さらなる問題を回避するために、何百もの単体テストを作成しました。次に、データベースに対して統合テストを作成します。

これまで、単体テストには xUnit を使用してきました。しかし、どうすれば前進できるのか確信が持てず、いくつか質問があります。

  1. 「上から下へ」の統合テストへのアプローチを1つ書くことをお勧めしますか。では、すべてのレイヤーを通過してデータベースに影響を与える MVC アクションを使用するテスト メソッドを作成したり、Web - API、API - DB などの部分に分割したりしますか?
  2. Fixtures について xUnit を検索しましたが、Entity Framework に対して IUseFixture を使用するサンプルは見つかりませんでした。
  3. Code First 移行を使用しているため、すべての移行ファイルが手元にあるため、データベースの初期化は簡単だと思います。しかし、それらを使用してテストデータベースを作成するにはどうすればよいですか?
  4. 私たちのチームは複数の開発者で構成されているため、それぞれを分離することが重要です。これには開発データベースサーバーまたはローカルデータベースを使用できますが、ユーザーに応じて接続文字列を変更する方法が見つかりませんでした。

現在ではありませんが、近い将来、これらのテストを TFS 2012 ビルドで実行する予定です。

4

1 に答える 1

1

あなたは努力するべきです

http://effort.codeplex.com/

DbContext の作成時に特別な接続を提供することで、Entity Framework のメモリ内データベースを提供します。

また、データベースに CSV ファイルのデータを入力することもできます。

于 2013-10-27T14:07:57.697 に答える