Java Hsql从现有数据库创建测试数据

Java Hsql从现有数据库创建测试数据,java,junit,hsqldb,in-memory-database,test-data,Java,Junit,Hsqldb,In Memory Database,Test Data,有人知道使用内存中hsqldb的现有数据库生成复杂测试数据的方法吗? 因此,我的junit测试将能够使用正确数据的一部分 具体问题如下: 我们必须为现有项目编写junit测试,以验证当我们更改代码(正常的测试过程)时集成是否有效,但我们已经有了一个现有的数据库。因为我们只是为其他组件提供服务,所以我们“只是”提供了从数据库提供数据的服务 但是在hsqldb中加载整个数据库会占用大量内存。。。所以我只想得到一部分我可以测试的数据。表之间有很多引用。我从未使用过这个功能,但dbunit有它 我用过d

有人知道使用内存中hsqldb的现有数据库生成复杂测试数据的方法吗? 因此,我的junit测试将能够使用正确数据的一部分

具体问题如下:

我们必须为现有项目编写junit测试,以验证当我们更改代码(正常的测试过程)时集成是否有效,但我们已经有了一个现有的数据库。因为我们只是为其他组件提供服务,所以我们“只是”提供了从数据库提供数据的服务


但是在hsqldb中加载整个数据库会占用大量内存。。。所以我只想得到一部分我可以测试的数据。表之间有很多引用。

我从未使用过这个功能,但dbunit有它


我用过dbunit,我喜欢它。我们只是自己创建xml数据集。

我的问题的解决方案是:

  • 运行现有集成测试并捕获sql语句
  • 执行记录的sql语句
  • 从执行的sql语句创建insert语句
  • 将insert语句读入inmemory hsqldb

  • 谢谢@CAB的提示

    谢谢你的回答。但是我需要从已经存在的集成测试中创建测试数据。