12

我计划使用 PostgreSQL 作为我的 Quarkus 应用程序的数据库,但我希望在我的测试中使用 H2 方便。

有没有办法可以完成这样的壮举?

4

2 回答 2

18

Quarkus 提供了H2DatabaseTestResource,它在测试过程中启动内存中的 H2 数据库。

您将需要添加io.quarkus:quarkus-test-h2test作用域依赖项并使用@QuarkusTestResource(H2DatabaseTestResource.class). 你还需要有类似的东西:

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

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 可以在开发和测试模式下在quarkus-jdbc-h2类路径上自动启动 H2,并且没有提供 URL 配置。有关更多信息,请参阅

于 2019-03-08T13:03:30.863 回答
0

您可以在 application.properties 文件中使用以下配置来使用 h2 数据库

    quarkus.datasource.jdbc.url=jdbc:h2:mem:default
    quarkus.datasource.driver=org.h2.Driver
    quarkus.datasource.username=admin
    quarkus.hibernate-orm.database.generation=drop-and-create
于 2021-12-11T14:46:54.313 回答