データベースを操作するプログラムのユニットテスト方法

以前に書きましたが
データベースを操作するプログラムのユニットテスト方法についてです。


(当初は、どうしようか困っていたんですけども・・・)
現状はこんな感じでユニットテストしてます。


■用意するもの
 ・DBUnitベースのフレームワークを作成
  (プロジェクトに特化してカスタマイズする事もある)
 ・テストデータは、テーブル単位のExcelファイルを用意
  (シート名がテーブル名、1行目はカラム名、2行目以降にテーブルのデータを記述)


ユニットテスト実行の流れ
 1.トランザクション開始
 2.初期データ投入(Excelデータをデータベースへ投入)
 3.テスト実行
 4.結果比較(データベースとExcelデータを比較)
 5.ロールバックで元に戻して、トランザクション終了(テスト中はコミットが無効になる)


 1,2,4,5はフレームワーク担当で、
 3がテストコードの実装部分になります。


■データベースについて
 データベースはサーバ上に構築しておいて、開発者全員で使用します。
 テスト実行単位でトランザクションを開始するので、
 同時にテストを行っても正常に動作します。


今のところは、やりたい事はできてる感じではありますが・・・
世の中にはもっといい方法があるだろうな・・・日々勉強していこう(≧∇≦)b