Я пытаюсь использовать @sql и @sqlgroup в моем модульном тесте.У меня есть 2 тестовых случая, а именно testA и testB.Группа sql для testA:
@SqlGroup({
@Sql(value = "classpath:test/scripts/testA-service/before-test.sql",
executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD),
@Sql(value = "classpath:test/scripts/testA-service/before-testA.sql",
executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD),
@Sql(value = "classpath:test/scripts/testA-service/after-test.sql",
executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
})
Группа sql для testB:
@SqlGroup({
@Sql(value = "classpath:test/scripts/testB-service/before-test.sql",
executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD),
@Sql(value = "classpath:test/scripts/testB-service/before-testB.sql",
executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD),
@Sql(value = "classpath:test/scripts/testB-service/after-testB.sql",
executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD),
@Sql(value = "classpath:test/scripts/testB-service/after-testB.sql",
executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
})
В before-testA.sql я вставляю в таблицу с именем TABLE1 некоторые случайные значения.В after-test.sql testA-service я усекаю TABLE1.
В before-test.sql testB-service я отбрасываю TABLE1, если он существует, а затем создаю его снова.Я вставляю в TABLE1 еще несколько случайных значений.В post-test.sql службы testB я усекаю TABLE1.
Во время выполнения теста testB testB используемые в TABLE1 значения не являются введенными во второй раз.Вместо этого он использует значение, вставленное в первый раз.
Я использую HSQLdb.Эта проблема возникает не локально, а на сервере prod / dev.