java - 调试时检查内存 hsqldb

标签 java unit-testing hsqldb

我们在内存中使用 hdsqldb 来运行针对数据库的 junit 测试。在通过 Spring 配置运行每个测试之前设置数据库。一切正常。 现在,当测试失败时,可以方便地检查内存数据库中的值。这可能吗?如果有怎么办? 我们的网址是:

jdbc.url=jdbc:hsqldb:mem:testdb;sql.enforce_strict_size=true

每次测试后数据库都会被销毁。但是当调试器运行时,数据库也应该还活着。我试过连接 sqldb databaseManager。这行得通,但我没有看到任何表格或数据。非常感谢任何帮助!

最佳答案

在您的单元测试或 @Before/setUp() 方法中,您可以添加以下行来启动 HSQL 数据库 Manager :


org.hsqldb.util.DatabaseManager.main(new String[] {
  "--url",  "jdbc:hsqldb:mem:testdb", "--noexit"
});

或者对于具有“更多改进”(但功能大致相同)的改进 Swing 版本


org.hsqldb.util.DatabaseManagerSwing.main(new String[] {
  "--url",  "jdbc:hsqldb:mem:testdb", "--noexit"
});

DB 管理器允许您在应用程序运行时检查架构并在实时内存数据库上运行 SQL 查询。

如果您想在特定行检查数据库的状态,请确保设置一个断点或以一种或另一种方式暂停执行。

关于java - 调试时检查内存 hsqldb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2697341/

相关文章:

java - Android FirebaseRecyclerView 实现搜索用户功能时遇到的问题

java - 调试 HashMap - Java Android

Java 程序在命令提示符下编译并运行成功,但在 myeclips 中却无法编译和运行?

linux - 基于 Bash 的热重载实现

java - 如何使用 URL 参数关闭 HSQL DB 中的日志记录?

mysql - 我正在尝试获取最近 "N"个月的订单。在下面的查询中,我需要动态设置月份的值

java - Java中套接字的不同方法

python - 为什么对象主键在 Django 中的测试之间递增?

java - java.util.Map 的通用测试工具?

java - 重置 hsqlDB、java 中的光标位置