web-dev-qa-db-fra.com

Comment utiliser une base de données en mémoire H2 lors du test de mon application Quarkus?

Je prévois d'utiliser PostgreSQL comme base de données pour mon application Quarkus, mais j'aimerais la commodité d'utiliser H2 dans mes tests.

Y a-t-il une façon de pouvoir accomplir un tel exploit?

10
geoand

Quarkus fournit le H2DatabasesTestresSource qui démarre une base de données dans la mémoire H2 dans le cadre du processus de test.

Vous devrez ajouter io.quarkus:quarkus-test-h2 Sous forme de dépendance test scopé et annotant votre test avec @QuarkusTestResource(H2DatabaseTestResource.class). Vous aurez également besoin d'avoir quelque chose comme:

quarkus.datasource.url=jdbc:h2:tcp://localhost/mem:test
quarkus.datasource.driver=org.h2.Driver

dans src/test/resources/application.properties

Pour que l'application utilise PostgreSQL dans le cadre de son exécution régulière, quarkus-jdbc-postgresql Devrait être une dépendance et

quarkus.datasource.url=jdbc:postgresql://mypostgres:5432
quarkus.datasource.driver=org.postgresql.Driver

devrait être défini dans src/main/resources/application.properties

12
geoand