2016-09-05 8 views
2

私は、モノリシックなアーキテクチャを持つ小型のASP.NET MVCプロジェクトでユニットテストを使用しました。この場合、私はちょうどSampleApplicationNameSampleApplicationName.Testsのような2つのプロジェクトを持っていました。どのように正しくASP.NET MVC多層アプリケーションでユニットテストを行うには?

は今、私は本当に素敵なn層アーキテクチャと大きなプロジェクトに3つの開発者のチームで働いています。

1.Data(POCO)、2.DataAccess(EF)、3.Common(ここではヘルパー)、4.Business、5 UI (ASP.NET MVC5):私たちは、溶液中の5つのプロジェクトを持っています。ここで

質問をaraise。テストをどのように管理すればよいですか?それはそれぞれに独立したテスト・プロジェクトである必要がありBusiness.Tests、DataAccess.Testsのようなプロジェクトを存在する、または私が最終的な結果のみをテストする必要がありますか?つまり、各メソッドはUI→BLL→DALからフルパスで実行されるため、各プロジェクトを個別にテストするか、テストプロジェクトを1つしか持たないのですか?私の経験、あなたがすべきユニットテスト(またはデータ層のための統合)を別途、徹底的にそれぞれの層で

答えて

2

通常あなたが

  • 内部のロジックと、プロジェクトごとに別々のユニットテストプロジェクトになってしまいます(あなただけのプロジェクトでPOCOSを維持している かどうかは 専用UTプロジェクトに値しないかもしれません) ( DataAccessレイヤーをスキップしたい場合があります)
  • 複数の統合テストプロジェクト(UI & DataAccessレイヤーが良い候補になるかもしれませんが、シナリオ別にITプロジェクトを構成することもできます)一人でも一緒に)

が、私は、各メソッドはUIからの完全なパスを実行することを意味 - BLL> - > DAL、そう 私は別に、各プロジェクトをテストしたり、唯一のテストプロジェクトを持っている必要がありますか?

だからこのケースでは、あなたはそれらのそれぞれに別々のUTプロジェクト(再び、けれども、それは、EFをどうするのが難しいかもしれません)、そして実際に全体のワークフローを通過し、単一のITプロジェクトを対象とすることがあります。

0

。これが最初ですが、それをいったん実施したら、実際の製品の機能をいくつかのエンドツーエンドでテストすることをお勧めします。

関連する問題