문서의 이전 판입니다!
@Bean public DatabaseConfigBean dbUnitDatabaseConfig() { DatabaseConfigBean config = new DatabaseConfigBean(); config.setQualifiedTableNames(true); // schema 지원 config.setMetadataHandler(new MySqlMetadataHandler()); // MySQL 에서 MetaData를 올바로 읽으려면 필요 return config; } @Bean public DatabaseDataSourceConnectionFactoryBean dbUnitDatabaseConnection(DataSource dataSource) { final DatabaseDataSourceConnectionFactoryBean dbUnitDatabaseConnection = new DatabaseDataSourceConnectionFactoryBean(); dbUnitDatabaseConnection.setDataSource(dataSource); dbUnitDatabaseConnection.setDatabaseConfig(dbUnitDatabaseConfig()) return dbUnitDatabaseConnection; }
// 실제 테스트에서는 // Spring Application 기본 설정... 이후 @TestExecutionListeners({DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class, TransactionalTestExecutionListener.class, DbUnitTestExecutionListener.class}) @DatabaseSetups({ @DatabaseSetup(value = "dataset.xml", type = DatabaseOperation.TRUNCATE_TABLE), @DatabaseSetup(value = "dataset.xml", type = DatabaseOperation.CLEAN_INSERT) }) @DbUnitConfiguration(databaseConnection = "dbUnitDatabaseConnection") public class DatabaseTest { ... }
FlatXML 에서는 schemaName.tableName
형태로 기입해줘야한다.
<?xml version="1.0" encoding="UTF-8"?> <dataset> <myschema.article id="123" title="hello" regDttm="2016-09-28 09:20:22.000000" /> </dataset>