JUnitでDBUnitを使用してテーブル比較する

JUnitでDBUnitを使用してテーブルの比較をします。

insert.xlsxでデータを投入し、テーブルの期待値をexpect.xlsxとします。

String[] sort = {"カラム名1","カラム名2"};
String[] exclude = {"カラム名3"};

FileInputStream fis = new FileInputStream("insert.xlsx");
IDataSet expectDataSet = new XlsDataSet(fis);
ITable expect = expectDataSet.getTable("insert.xlsxのシート名");

// 比較対象外のカラム設定
expect = DefaultColumnFilter.excludedCoolumnsTable(expect, exclude);
// 指定したカラムでソート
expect = new SortedTable(expect, sort);
IDataSet dataSet = jdbcConn.createDataSet();
ITable actual = dataSet.getTable("シート名");

// 比較対象外のカラム設定
actual = DefaultColumnFilter.excludedCoolumnsTable(actual, exclude);
// 指定したカラムでソート
actual = new SortedTable(actual, sort);
// 検証 Assertion.assertEquals(actual,expect);

エクセルの1行目はテーブルのカラム名で、2行目から実データです。

上記のように比較する際に除外したいカラム(更新日付など)を指定でき、また、ソートすることによりソートしてデータの比較を正しく行うことができます。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA