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

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント