2016-11-16 6 views
0

私の質問を読んでいただきありがとうございます。データベース層のユニットテストの作成に関する提案

私は、既存のデータベースレイヤーの単体テストをどのように作成すればよいのでしょうかと思っていました。現時点では私のプロジェクトは既存の単体テストを持っていますが、データベース層やデータベースからデータを挿入/更新/削除する関数については単体テストは書かれていません。

マイクロソフトのテストを使用しています。ここで私が考えているアプローチの1つは です。1)データベースをオンザフライで作成します。すなわち、mdfファイルを作成します。デフォルト値を準備します。設定方法(Nunit)または初期化メソッド(MSテスト)でオブジェクトをモックします。ダミーのデータをテーブルにダンプします。

また、模擬フレームワークを使用していません。だから私はすべて混乱している。

私はこれをどのようにゼロから行うことができるかを知る必要があります。また、フレームワークをモッキングするためのオプションもあります。

いずれのポインタやサンプルも高く評価されます。

もう一度ありがとうございます。

答えて

0

C#ユニットテストはデータベースに触れてはならないので、データベースをモックする必要があります。数秒であなたのローカルマシン(外部(インターネット、データベース、他のアプリケーション)なし)で何千もの単体テストを実行することが可能でなければなりません。

これは、私たちの質問に答えることはできませんが、あなたのデータベース層のテストは何をしますか?それはあなたがそのアセンブリで持っている論理の種類に依存します!あなたが "ビジネスや意思決定"論理を持っているなら、そのロジックをテストする必要があります。データベースに負荷をかけるために(どんなデータベースフレームワークでも)使用している場合は、すべてのデータベースレイヤが機能すれば、そこでテストする価値のあるものはないかもしれません。

データベースで実行されたロジック(SPのようなもの)をテストするには、データベースプロジェクトでそれを行い、mstestを使用しないことをお勧めします。

もちろん、mstestを使用してデータベースをセットアップし、テストを実行することはできますが、これらのテストは単体テストではありません。

関連する問題