我们在内存中使用 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/