我计划将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

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中设置

关于quarkus - 测试我的Quarkus应用程序时如何使用内存中的H2数据库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55063778/

10-12 17:01