【问题标题】:How to view H2 in-memory database while integration tests are running?如何在集成测试运行时查看 H2 内存数据库?
【发布时间】:2015-04-26 19:54:14
【问题描述】:

如何在集成测试运行时查看 H2 内存数据库? H2WebServer 在我的集成测试开始时启动。但是当我在代码中设置断点时,H2WebServer 没有响应我的浏览器请求,这使得无法实际查看数据库..

【问题讨论】:

  • 相信你可以使用jdbc客户端(如squirrel)直接连接数据库

标签: java spring integration-testing h2 spring-test


【解决方案1】:

如果将其添加到测试上下文的 spring 配置文件中,您应该能够使用常规 SQL 客户端(例如 Squirrel)连接到数据库。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>org.hsqldb.jdbcDriver</value>
        </property>
        <property name="url">
            <value>
               jdbc:hsqldb:hsql://localhost/xdb;check_props=true;default_schema=true;
           </value>
        </property>
        <property name="username">
            <value>sa</value>
        </property>
        <property name="password">
            <value></value>
        </property>
    </bean>

【讨论】:

  • 您的解决方案适用于在内存中运行带有 h2 的 Spring 应用程序。 但是在运行集成测试时如何查看内存数据库
  • 我所做的是在调试模式下运行测试,在我的 IDE 中添加一个断点,当测试在断点处停止时,我启动 SQL Developer 并连接到数据库进行查询。是这个意思吗?
  • 不,一旦代码在集成测试期间在断点处停止,内部 H2 服务器也会停止。
  • 同样的问题。一旦程序遇到断点,我就无法再访问 Web 控制台。有没有办法解决这个问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2019-02-26
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2020-03-20
  • 2021-05-15
相关资源
最近更新 更多