Hsql从现有数据库创建testdata

时间:2013-04-22 15:58:07

标签: java junit hsqldb in-memory-database test-data

有没有人知道使用内存hsqldb中的现有数据库生成复杂testdata的方法? 所以我的junit测试将能够使用一部分正确的数据。

具体问题如下:

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

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

2 个答案:

答案 0 :(得分:1)

我从未使用过此功能,但dbunit拥有它。 http://www.dbunit.org/faq.html#extract

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

答案 1 :(得分:0)

我的问题的解决方案是:

  1. 运行现有的集成测试并捕获sql语句
  2. 执行记录的sql语句
  3. 从执行的sql
  4. 创建插入语句
  5. 将插入语句读入inmemory hsqldb
  6. 感谢@CAB提示!