DbUnitを使用する時の流れとしては、
1.現在のテーブル情報をバックアップ(データファイルとして出力)
2.テスト用にデータをインポート
3.テスト実行
4.1のデータファイルをインポート
という形でテストクラスを組むかと思います。
データをExcelで管理できるので私はDBアクセス部分のテストによく使います。
ですが、現在のバージョン(2.4.3)において、1の処理において
Timestamp型のデータをExcelに出力すると
うまく保存されません(2.4系は全滅でした)。
こんな感じの処理です。
// 接続先に登録されている全てのテーブルが取得対象 IDataSet dataSet = databaseConnection.createDataSet(); File backUpFile = new File("backUp.xls"); // FileにExcelフォーマットで出力 OutputStream os = null; os = new FileOutputStream(backUpFile); XlsDataSet.write(dataSet, os);
databaseConnectionはインターフェースIDatabaseConnectionのオブジェクトです。
Excelに書き込む箇所がまずい模様。
なので、XMLに出力することにしました。
// 接続先に登録されている全てのテーブルが取得対象 IDataSet dataSet = databaseConnection.createDataSet(); File backUpFile = new File("backUp.xml"); // FileにXMLフォーマットで出力 OutputStream os = null; os = new FileOutputStream(backUpFile); XmlDataSet.write(dataSet, os, "UTF-8");
これで、とりあえずバックアップできたようです。
うーん、Excelまわりの挙動テストしたのかなー?
テスト用にはExcelでデータファイルを作って、
バックアップ用にはXMLに落としておく。
しばらくはこれで運用してみましょう。