use of org.dbunit.util.fileloader.DataFileLoader in project api-core by ca-cwds.
the class BasePersistenceTest method readXmlDataSet.
protected IDataSet readXmlDataSet(String dataSetFilePath) throws Exception {
DataFileLoader loader = new FlatXmlDataFileLoader();
IDataSet dataSet = loader.load(dataSetFilePath);
ReplacementDataSet replacementDataSet = new ReplacementDataSet(dataSet);
replacementDataSet.addReplacementObject("[NULL]", null);
return replacementDataSet;
}
use of org.dbunit.util.fileloader.DataFileLoader in project sandbox by irof.
the class FirstTest method test.
@Test
public void test() throws Exception {
// 伝統的なテストの親クラスに指定する子
// PrepAndExpectedTestCaseに渡すためにここでインスタンス化
IDatabaseTester databaseTester = new DataSourceDatabaseTester(dataSource);
databaseTester.setSetUpOperation(DatabaseOperation.INSERT);
databaseTester.setTearDownOperation(DatabaseOperation.DELETE);
// データの形式を設定するやつ
// 標準で提供されているのは CSV、XML二種類、Excel
DataFileLoader dataFileLoader = new FlatXmlDataFileLoader();
// 2.4.8で入った親クラスを使わずにテストする仕組み
// pre-postを自分で呼ぶか、runTestに任せるかのどちらか
PrepAndExpectedTestCase tc = new DefaultPrepAndExpectedTestCase(dataFileLoader, databaseTester);
// 初期投入するデータを設定
String[] prepDataFiles = { "/input.xml" };
// 期待値のデータを設定
String[] expectedDataFiles = { "/expected.xml" };
// 検証するテーブルとカラムを設定
VerifyTableDefinition[] verifyTables = { new VerifyTableDefinition("event", new String[] {}) };
// runTestは処理をlambdaで渡す
// lambdaの戻り値がそのままrunTestの戻り値となる
// runTestの前後でpreTest/postTestが呼ばれる
Object count = tc.runTest(verifyTables, prepDataFiles, expectedDataFiles, () -> {
try (Connection conn = dataSource.getConnection();
Statement st = conn.createStatement()) {
return st.executeUpdate("update event set capacity=15 where id = 123");
}
});
// おまけ
assertThat(count).isEqualTo(1);
}
Aggregations