DbUnit Java Отключить FOREIGN_KEY_CHECKS только для одного ТЕСТА - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть проект Java с Spring и DbUnit 2.5.4 на Java7.Я хочу отключить проверку ключа DbUnit, но только для конкретного теста, где многие таблицы имеют перекрестные ссылки.Я пробовал этот код без успеха.Как я могу отключить ограничение целостности только для этого теста?

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
    "classpath:config/ioc/application-context-spring-test.xml"
}

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
    "classpath:config/ioc/application-context-spring-test.xml"
})
@TestExecutionListeners({
    DependencyInjectionTestExecutionListener.class,
    CleanInsertTestExecutionListener3A.class,
    TransactionalTestExecutionListener.class, })
@TransactionConfiguration(
    transactionManager = "myTxManager", defaultRollback = true)
public class FluxDSImplTest36466 {
.......

IDatabaseConnection dbConn = new DatabaseDataSourceConnection(
    testContext.getApplicationContext().getBean(DataSource.class));
// BAD TEST
// dbConn.getConnection()
 //.prepareStatement("set @@session.foreign_key_checks = 0").execute();
// dbConn.getConnection()
   //.prepareStatement("set referential_integrity FALSE").execute();
// dbConn.getConnection()
   //.prepareStatement("set foreign_key_checks=0;").execute();
// dbConn.getConnection()
   //.prepareStatement("set foreign_key_checks=0").execute();
// dbConn.getConnection()
  //.createStatement().execute("SET FOREIGN_KEY_CHECKS=0;");
//DatabaseOperation.CLEAN_INSERT.execute(dbConn, replaceDataSet);
...