我们编写了所有单元测试,以便在HSQL中创建和填充表。我希望使用它的开发人员能够通过编写查询来编写针对此HSQL DB(1)的查询,他们可以更好地理解数据模型,而那些不熟悉SQL的人可以在编写运行时语句之前使用数据和2 )因为他们无法访问测试DB /安全性原因)。有没有办法持久化测试数据的结果,以便可以使用SQL客户端进行检查和分析?
现在我通过将数据源切换到不同的数据库(比如DB2 / mysql,然后连接到我的机器上的那个数据库,以便我可以使用持久数据)来操纵它,但是对我来说它会更容易HSQL支持持久化,而不是向每个新开发人员解释如何执行此操作。
为了清楚起见,我需要一个SQL客户端来与持久数据进行交互,因此调试和检查内存将不会很干净。这更多地与初始开发有关,而不是调试/维护/测试。
答案 0 :(得分:6)
如果您使用HSQLDB Server实例进行测试,则数据将在测试运行后继续存在。
如果服务器为其数据库使用jdbc:hsqldb:mem:aname(all-in-memory)url,那么在服务器运行时数据将可用。或者,服务器可以使用jdbc:hsqldb:file:filepath url,并将数据保存到文件中。
最新的HSQLDB文档解释了不同的选项。大多数观察结果也适用于较旧的(1.8.x)版本。但是,最新版本2.0.1支持在第一次连接时动态启动服务器并创建数据库,这可以简化测试。
http://hsqldb.org/doc/2.0/guide/deployment-chapt.html#N13C3D