0

Ninjectを使用してデータベースリポジトリをモックする単体テストプロジェクトがあります。これらの同じテストを統合テストとして使用し、Ninjectを使用して、実際のデータベースリポジトリをそれぞれの実装にバインドし直して、アプリケーションをDBにテスト/ストレスをかけたいと思います。

Visual Studio 2012でこれを行う方法はありますか、それともこのタイプの構成を可能にするMSTest以外の別のテストフレームワークがありますか?

これらの単体テストを統合テストプロジェクトに書き直したりコピーしたりするのは本当に嫌ですが、ファイルをリンクとしてコピーし、1つのテストファイルを2つのプロジェクト(ユニットと統合)にコンパイルできると思います。

ありがとうトッド

4

2 に答える 2

1

あなたの要件は私には本当に奇妙に聞こえます。単体テストと統合テストの違いは、データベースに接続するかどうかよりもはるかに大きいです。統合テストは、はるかに大きなスコープを持つか、コンポーネントが正しく通信するかどうかをテストします。ユニット テストを作成する場合、そのようなユニットのスコープは通常小さい (すべての依存関係がモック アウトされた 1 つのクラス/コンポーネント) ため、DI コンテナーを使用する必要はありません。

別の言い方をしましょう。テストがまったく同じである場合、データベースの有無にかかわらず同じテストを行うことに興味があるのはなぜですか。データベースをそのままにして、それをテストするだけです。これらのテストに加えて、スコープがはるかに小さい「実際の」単体テストを追加できます。

于 2012-09-21T11:40:44.497 に答える