Я планирую использовать PostgreSQL в качестве базы данных для моего приложения Quarkus, но мне бы хотелось, чтобы в моих тестах было удобно использовать H2.
Есть ли способ совершить такой подвиг?
Я планирую использовать PostgreSQL в качестве базы данных для моего приложения Quarkus, но мне бы хотелось, чтобы в моих тестах было удобно использовать H2.
Есть ли способ совершить такой подвиг?
Quarkus предоставляет H2DatabaseTestResource, который запускает базу данных H2 в памяти как часть процесса тестирования.
Вам нужно будет добавить io.quarkus:quarkus-test-h2
как зависимость с test
областью действия и аннотировать свой тест с помощью @QuarkusTestResource(H2DatabaseTestResource.class)
. Вам также понадобится что-то вроде:
quarkus.datasource.url=jdbc:h2:tcp://localhost/mem:test
quarkus.datasource.driver=org.h2.Driver
in src/test/resources/application.properties
Чтобы приложение использовало PostgreSQL как часть своего обычного запуска, quarkus-jdbc-postgresql
должен быть зависимостью и
quarkus.datasource.url=jdbc:postgresql://mypostgres:5432
quarkus.datasource.driver=org.postgresql.Driver
должен быть установлен в src/main/resources/application.properties
Обновить
Начиная с версии 1.13
, Quarkus может автоматически запускать H2 в режиме разработки и тестирования, когда quarkus-jdbc-h2
находится в пути к классам и не указана конфигурация URL. Дополнительную информацию см. В this.