2

単体テスト/TDD は初めてです。次のアーキテクチャで Web アプリケーションを開発しています。

  1. MVC
  2. WCF サービス層
  3. ビジネスロジックレイヤー
  4. EF を使用した DAL

以前に単体テストを行ったことはありませんが、いくつかのプロジェクトで見たので、明確な考えはありません。

すべてのレイヤーのすべてのメソッドに対して単体テストを作成する必要がありますか、それとも一部のレイヤーに固有のものですか?

次に、1 つのプロジェクトを配置し、その中にすべてのレイヤーの単体テストを配置する必要がありますか? テスト プロジェクトのすべてのレイヤーの単体テストを管理する方法を知りたいですか?

4

1 に答える 1

1

私は完全にアジャイルなショップで働いており、次のことを行っています。

1. UAT (ユーザー受け入れテスト) を作成することから始めます。あなたの場合、これは Cucumber + WatiN または同様のものを介して行われます。これらはビジネス機能を念頭に置いて書かれています。
2. 次に、追加しようとしているクラスの単体テストを作成します。これは、すべてのパブリック メソッドとそのすべてのロジック ブランチをテストすることを意味します。これは、ビュー以外のほとんどすべてに当てはまります。
3. 毛むくじゃらのコードの場合、複数のクラスを関連付けて正しく統合することを確認する統合レベルのテストを追加します。

一部のレイヤーは、「正常に機能する」という前提があるためテストされていません (つまり、DBMS)。

通常、CI は最初に単体テストを実行し、次に統合テスト (単体テストに合格した場合)、最後に統合テストに合格した場合にのみ最も遅い UAT を実行する必要があります。

于 2012-08-31T02:49:42.763 に答える