사용자 도구

사이트 도구


springframework:spring_test_dbunit

문서의 이전 판입니다!


Spring Test DBUnit

MySQL Multiple Schema 지원 기본 설정

@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>
springframework/spring_test_dbunit.1475036409.txt.gz · 마지막으로 수정됨: 2016/09/28 12:50 저자 kwon37xi