【发布时间】:2013-01-10 11:20:42
【问题描述】:
为什么?
我有一个很大的 Oracle 表。我想测试一些 DAO 方法。为此,我使用 dbunit。
问题
我想使用 sql 查询将现有数据库的子集提取为 dbunit 平面 xml 文件。查询示例:
Select
t1.field1 as field1, t1.field2 as field2, t2.field3 as field3
From
table1 t1
Join table2 t2 on t1.fieldX=t2.fieldX
Where
t1.field6='value' and t2.field8='value2'
在这种情况下,它将提取 table1 和 table2 的所有记录,这些记录是查询的结果,然后它还会提取这些记录的所有依赖关系。
我尝试过的
- 狱卒
我已经测试了 Jailer,这是一个很好的工具。问题是我只能对一个表进行查询并提取它以保持关系。我的 sql 查询有几个 join 和 where 条件无法使用此软件解决。
- DBUnit 生成
我也尝试直接使用 DBUnit 来生成数据集,但它需要做很多工作,因为我们不能直接从 sql 查询生成子集,只能通过在每个表上指定一系列小查询来生成。 我有很多连接和条件,所以这不是一个可接受的解决方案。
问题
如何使用 sql 查询 作为导出的基础来生成数据库的子集(并将其导出到 dbunit 平面 xml 文件中)?
【问题讨论】:
-
您想要整个数据库的子集、单个表还是 SELECT 语句的结果?因为您混合了这些术语,所以我有点困惑 - 也是因为“几个连接和条件”注释表明您要导出 SELECT 语句的结果而不是“数据库”或一张桌子。
-
我已经编辑了我的帖子以反映这一点。我的查询是一个选择。
标签: sql oracle unit-testing dbunit