Обнаружена непустая схема Flyway с использованием H2 и REST-ASSURED - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь запустить некоторые тесты, используя SpringBoot, Flyway и H2

Мои тестовые классы RestAssured расширяются:

   @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
   @EnableConfigurationProperties
   public class FunctionalTest {
       @LocalServerPort
       private int port;
       public static final String JDBC_URL = "jdbc:h2:mem:FREE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=MYSQL";
       @Value("${spring.datasource.username}")
       private String username;

       @Value("${spring.datasource.password}")
       private String password;

       @Before
       public void setUp() {
           Flyway flyway = new Flyway();
           flyway.setDataSource(JDBC_URL, username, password);
           flyway.setLocations("classpath:db/migration");
           flyway.migrate();
           AppContext.loadApplicationContext(this.context);
           RestAssured.port = this.port;

           CreateEntityUtil.init(organizationRepositoryInj, projectRepositoryInj, apiServerRepositoryInj, userServiceInj, userOrgServiceInj);
       }
   }

application.properties:

    spring.datasource.driver-class-name=org.h2.Driver
    spring.datasource.url=jdbc:h2:mem:FREE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=MYSQL
    spring.datasource.username=[EDITED]
    spring.datasource.password=[EDITED]

    flyway.locations=classpath:db/migration
    flyway.schemas=FREE

Некоторые разработчики запускают тесты, и все в порядке. Но другие получают следующую ошибку: Обнаружена пролетная схема не пустая

1 Ответ

0 голосов
/ 25 июля 2018

Если кто-то столкнулся с той же проблемой, я решил проблему, используя:

...