В моем приложении используется Spring -Boot 1.4.1.RELEASE, а конфигурация моего источника данных выглядит следующим образом:
spring:
datasource:
url: ***
username: ***
password: ***
driver-class-name: oracle.jdbc.driver.OracleDriver
initial-size: 1
max-active: 100
max-idle: 30
min-idle: 1
max-wait: 0
pool-prepared-statements: true
max-open-prepared-statements: 3
Проблема в том, что последний случай моего тестирования интеграции, если он содержит логику установки @Sql
в нем, не может выполнить последнюю установку SQL. Проблема возникает редко из-за переупорядочения случаев и того факта, что для подготовки БД есть только несколько случаев с логикой установки. Конфигурация отсутствует, но одна для OracleDB и находится в ConfigClass
.
@SpringBootTest(classes = ConfigClass.class)
public class EtcTest {
@After
public void teardown() {
// teardwon X, Y, & Z
}
@Test
@Sql("setupX.sql")
@Sql("setupY.sql")
@Sql("setupZ.sql")
public void get_fromDb() {
List<Etc> list = buildExpectedList();
Obj expected = buildExpected();
Obj actual = getCallToAPI();
assertThat(rs.getX()).isEqualTo(expected.getX());
assertThat(rs.getY()).isEqualTo(expected.getY());
assertThat(rs.getZ()).containsAll(list);
}
}
Проблема, например, в приведенном выше случае, если это был последний случай интеграции,
что он не смог зафиксировать последний SQL в аннотациях @Sql
, а именно SetupZ.sql
, но данные не полностью отсутствуют, он вставляет первичный ключ, а иногда columnA
или columnB
, это как если бы что-то действительно неправильно здесь.
Может ли это возникновение или отсутствие какой-либо конфигурации? Если нет, то в чем причина?