Как правильно тестировать базу данных SpringBoot с помощью H2? - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь запустить тест Springboot с базой данных H2 в памяти с Mybatis.До сих пор я

  1. настраивал h2 DB в application-test.properties
  2. , добавляя аннотацию
@SpringBootTest, @TestPropertySource (locations = "TEST_APPLICATION_PROPERTIES_LOCATION")
autowiring dao и serviceImpl bean-компоненты добавление seed.sql и purge.sql в класс тестирования с помощью
@SqlGroup({
        @Sql(executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, scripts = "classpath:/database/seed.sql"),
        @Sql(executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, scripts = "classpath:/database/purge.sql") })

Несмотря на вышеуказанные меры, у меня все еще есть две проблемы

  1. Я не могу получить пользователя, которого я ввел с помощью seed.sql.Я создал пользователя с id = "admin", pw = "admin" и пытался получить с помощью findById ("admin").Но он всегда возвращает ноль.

  2. Я не могу открыть базу данных h2 при отладке с помощью @test.Я просто не могу получить доступ к h2 с помощью localhost: 8080 / h2-console (путь был явно указан в application-test.properties)

Есть ли какие-либо дополнительные меры, которые я должен предпринять, чтобыпроверить SpringBoot с h2?

1 Ответ

0 голосов
/ 27 мая 2019

Добавьте spring.h2.console.enabled=true в ваш файл свойств.

...