作者:网络小爬虫 | 来源:互联网 | 2023-10-11 07:37
HSQL位于内存中,因此当您说要与SQLDB数据库管理器连接时,您不是在-
而是连接到SQLDB数据库管理器的内存空间中的另一个数据库,而不是连接到SQLDB数据库管理器的内存空间中的另一个数据库。单元测试。这就是为什么SQLDB数据库管理器中的数据库为空的原因。
您可以org.hsqldb.Server
按照此处所述使用HSQL作为服务器运行。
尽管org.hsqldb.Server
该类通常用于启动单独的进程,但是您可以在单元测试中实例化和配置它,这应该允许远程进程连接和查询数据库。
另外,您必须编写某种转储功能,必要时可以在单元测试中调用它。
顺便说一句,在单元测试中使用HSQL只是证明您的代码可以针对HSQL运行,这与实际数据库不同。这意味着您会得到误报,反之亦然。使用模拟API或更好的API可以实现相同的目的,将数据库测试保存为与实际数据库一起使用的一些不错的集成测试。