当前位置: 首页 > 知识库问答 >
问题:

在测试我的Quarkus应用程序时,如何使用内存中的H2数据库?

景轶
2023-03-14

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

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

共有2个答案

景志
2023-03-14

您可以在应用程序中使用以下配置。要使用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
姬翰林
2023-03-14

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

您需要添加<code>io。quarkus:quarkus-test-h2作为测试scoped依赖项,并使用@QuarkusTestResource(H2DatabaseTestResource.class),注释您的测试。您还需要以下内容:

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

在< code > src/test/resources/application . properties 中

为了使应用程序将PostgreSQL作为其常规运行的一部分,quarkus jdbc PostgreSQL应该是一个依赖项,并且

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

应在<code>src/main/resources/application.properties中设置

使现代化

从< code>1.13版开始,当< code>quarkus-jdbc-h2在类路径上并且没有提供URL配置时,Quarkus可以在开发和测试模式下自动启动H2。更多信息见此。

 类似资料:
  • 但是,我也有希望持久化的特定于应用程序的数据--我希望将其存储在一个文件中。 这可能吗?

  • 问题内容: 我刚刚在我的express应用程序中添加了shouldjs和mocha进行测试,但是我想知道如何测试我的应用程序。我想这样做: 当然,测试套件中的最后一个测试只是告诉med,res.render函数(在show_create_user_screen中调用)是未定义的,可能是因为服务器未运行且配置尚未完成。所以我想知道其他人如何设置他们的测试? 问题答案: 好的,虽然测试路由代码是您可能

  • 我是Quarkus新手,正在使用Eclipse和Quarkus插件。 无论我是手动使用启动还是使用Eclipse夸克启动配置,应用程序似乎总是在运行测试。 我看到了类似的东西 有一段时间什么都没发生,直到我看到Quarkus标志、我的日志消息等。 也许我还没有仔细阅读文档,但我发现没有配置来关闭它并直接在开发模式下启动应用程序。 有人能帮我吗?

  • 我在Spring JPA测试中使用了很多次in-mem数据库,从来没有遇到过问题。这一次,我有一个更复杂的模式要初始化,并且该模式必须有一个自定义名称(我们的域模型中的一些实体绑定到一个特定的目录名称)。)因此,出于这个原因,为了确保测试完全同步,并与我们初始化和维护模式的方式一致,我试图在执行Spring Data JPA存储库单元测试之前,使用Liquibase初始化内存中的H2数据库...

  • 我在用Hibernate。如何配置我的persistence.xml以拥有一个H2内存数据库? 我的坚持。xml是: 但是当我运行我的应用程序时,我收到以下错误:

  • 在我的项目中,我创建了3个Spring启动应用程序。第一个Spring启动应用程序有h2嵌入式数据库。现在我想直接从我的第二个和第三个Spring启动应用程序访问这个数据库,而无需编写任何服务来获取这些数据。所以有人能告诉我如何实现这一点吗?