문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
springframework:spring_test_dbunit [2016/09/28 12:46] kwon37xi |
springframework:spring_test_dbunit [2018/09/28 10:49] kwon37xi [MS SQLServer] |
||
---|---|---|---|
줄 3: | 줄 3: | ||
* [[java: | * [[java: | ||
- | ====== MySQL Multiple Schema 지원 기본 설정 | + | ===== MySQL Multiple Schema 지원 기본 설정 ===== |
<code java> | <code java> | ||
@Bean | @Bean | ||
줄 9: | 줄 9: | ||
DatabaseConfigBean config = new DatabaseConfigBean(); | DatabaseConfigBean config = new DatabaseConfigBean(); | ||
config.setQualifiedTableNames(true); | config.setQualifiedTableNames(true); | ||
- | config.setMetadataHandler(new MySqlMetadataHandler()); | + | config.setMetadataHandler(new MySqlMetadataHandler()); // MySQL 에서 MetaData를 올바로 읽으려면 필요 |
+ | config.setDatatypeFactory(new MySqlDataTypeFactory()); | ||
return config; | return config; | ||
} | } | ||
줄 18: | 줄 19: | ||
new DatabaseDataSourceConnectionFactoryBean(); | new DatabaseDataSourceConnectionFactoryBean(); | ||
dbUnitDatabaseConnection.setDataSource(dataSource); | dbUnitDatabaseConnection.setDataSource(dataSource); | ||
- | dbUnitDatabaseConnection.setDatabaseConfig(dbUnitDatabaseConfig) | + | dbUnitDatabaseConnection.setDatabaseConfig(dbUnitDatabaseConfig()) |
return dbUnitDatabaseConnection; | return dbUnitDatabaseConnection; | ||
} | } | ||
+ | </ | ||
+ | <code java> | ||
// 실제 테스트에서는 | // 실제 테스트에서는 | ||
+ | // Spring Application 기본 설정... 이후 | ||
+ | @TestExecutionListeners({DependencyInjectionTestExecutionListener.class, | ||
+ | DirtiesContextTestExecutionListener.class, | ||
+ | TransactionalTestExecutionListener.class, | ||
+ | DbUnitTestExecutionListener.class}) | ||
+ | @DatabaseSetups({ | ||
+ | @DatabaseSetup(value = " | ||
+ | @DatabaseSetup(value = " | ||
+ | }) | ||
@DbUnitConfiguration(databaseConnection = " | @DbUnitConfiguration(databaseConnection = " | ||
public class DatabaseTest { | public class DatabaseTest { | ||
줄 28: | 줄 39: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | '' | ||
FlatXML 에서는 '' | FlatXML 에서는 '' | ||
줄 37: | 줄 50: | ||
</ | </ | ||
+ | ===== MS SQLServer ===== | ||
+ | * multiple catalog 지원이 제대로 안됨. | ||
+ | * test context 에 대해서는 '' | ||
+ | * 다중 설정< | ||
+ | @DatabaseSetups({ | ||
+ | @DatabaseSetup(value = " | ||
+ | @DatabaseSetup(connection=" | ||
+ | }) | ||
+ | </ | ||
+ | * Insert Operation의 경우 '' | ||
+ | @DbUnitConfiguration(databaseConnection = [" | ||
+ | class MyRepositoryTest extends Specification { | ||
+ | ... | ||
+ | } | ||
+ | </ |