データベースを操作するプログラムのユニットテスト方法
以前に書きましたが、
データベースを操作するプログラムのユニットテスト方法についてです。
(当初は、どうしようか困っていたんですけども・・・)
現状はこんな感じでユニットテストしてます。
■用意するもの
・DBUnitベースのフレームワークを作成
(プロジェクトに特化してカスタマイズする事もある)
・テストデータは、テーブル単位のExcelファイルを用意
(シート名がテーブル名、1行目はカラム名、2行目以降にテーブルのデータを記述)
■ユニットテスト実行の流れ
1.トランザクション開始
2.初期データ投入(Excelデータをデータベースへ投入)
3.テスト実行
4.結果比較(データベースとExcelデータを比較)
5.ロールバックで元に戻して、トランザクション終了(テスト中はコミットが無効になる)
1,2,4,5はフレームワーク担当で、
3がテストコードの実装部分になります。
■データベースについて
データベースはサーバ上に構築しておいて、開発者全員で使用します。
テスト実行単位でトランザクションを開始するので、
同時にテストを行っても正常に動作します。
今のところは、やりたい事はできてる感じではありますが・・・
世の中にはもっといい方法があるだろうな・・・日々勉強していこう(≧∇≦)b