DBUnitのメモ
DatabaseOperationの一覧
INSERT
指定したデータセットをテーブルに挿入する。
テーブル内で同じ主キーとなるデータがすでに存在する場合、主キー制約でエラーとなる。
UPDATE
指定したデータセットの同じ主キーとなるデータを上書きする。
上書きするデータが存在しない場合、特に登録は行われない。
CLEAN_INSERT
指定したデータセットに存在するテーブルに対して、DELETE_ALLを行った後、INSERTを行なう。
データセットに含まれるデータのみでテストしたい場合に使用する。
既存のデータはすべて削除される。
REFRESH
指定したデータセットの主キーにマッチするデータを更新する。
更新するデータがない場合は、挿入される。
TRANCATE_TABLE
指定したデータセットに含まれるテーブルが削除される。
NONE
何も行わない処理。 何に使うのだろう・・・
特殊な値を使ったテスト
データセットへ置き換え文字を埋め込んでおく
<?xml version='1.0' encoding='UTF-8'?> <dataset> <sample title="Hello" price="100" date="[SYSDATE]"/> <sample title="[NULL]" price="200" date="2005-10-10"/> </dataset>
置き換える
ReplacementDataSet dataSet = new ReplacementDataSet(new FlatXmlDataSet(new FileInputStream("dataset.xml"))); dataSet.addReplacementObject("[SYSDATE]", new Timestamp(System.currentTimeMillis())); dataSet.addReplacementObject("[NULL]", null);
Excel 使用時の注意点
Excelの書式設定により、XlsDataSetでの値の取り扱われ方が異なる。
数値はBigDecimal型、日付はDate型、文字列はString型として扱われる。