1

異なるデータベースに対してteambuildの単体テストを(複数回)実行したい。たとえば、ビルドコンパイルをテストしてから、SQLServer、次にOracleなどのデータベースに対して同じ一連のテストを実行したい。

1番目の構成ファイルに対してビルド/テストしてから2番目の構成ファイルに対してビルド/テストするなどの不器用なことを実行できると確信していますが、よりエレガントなものを探しています(できれば無意味な2番目の再コンパイルなしで)。

4

1 に答える 1

1

データベースの種類ごとに個別の単体テスト(これらはシステムテストと見なされます。実際にはデータベースが関係しているため)が必要になります。同じ単体テストが1つのDBプラットフォームで失敗し、別のプラットフォームで合格する可能性がある場合、合格/不合格のステータスとそのテストのテスト結果の履歴を時系列で見ると、具体的なことは何もわかりません。

それ以外の場合は、テストのセットアップ中にプログラムで変更できるように、db接続を分離または抽象化することを検討してください(MSTEST単体テストフレームワークの[ClassInitialize()]および[TestInitialize()]属性を参照)。

エレガントな解決策は、単体テストをデータベースに依存しないことです。呼び出しているクエリとプロシージャによって返されるデータをチェックするデータベースの個別のテストを作成します。

Visual Studio 2010 Premiumには、SQL Server 2005(およびそれ以降)のDBのデータと動作を検証するための単体テストを実行する機能があります。Oracle Dbsをテストしたり、返されたものをテストする独自のシステムをロールしたりするためのツールも見つからなかった場合は、私は驚きます(ndbUnitのようなものが役立つかもしれません)

于 2012-07-26T20:17:07.187 に答える