1

事情是 :

我在一个 xml 中有一些数据,这些数据被一个正在运行的线程占用,该线程读取数据,并在执行一些业务逻辑后将该数据保存到两个表中,比如说表 A 和表 B。

它的完成方式是表 B 的元组包含一个外键,它恰好是表 A 中条目的自动生成 id。由于我正在测试的是线程的正确性,我无法控制可能生成的内容表 A 中的条目的自动 ID 和我要验证的数据必须测试表 A 和表 B 的条目的连接正确性。

在预期的数据集中,我无法提供自动生成的 ID 和外键值,因为我不知道这一点。如果 DB 单元提供了一种方法,您只需用一个变量替换预期值并在另一个表的相应条目中使用该变量,那么有没有办法做到这一点?或者还有其他方法可以做到吗?请帮忙...

4

2 回答 2

0

好吧,我想出的是通过指定确切的 SQL 而不是拾取单个表,然后忽略结果集中的 ID 列,从而通过 DBUnit 接收实际数据,这样您剩下的就是名称映射属性的名称在结果集中的每一行。最后是一个非常微不足道的东西:)

于 2012-07-05T04:16:22.043 回答
0

如果您使用@ExpectedDatabase检查结果,可以指定修饰符assertionMode = DatabaseAssertionMode.NON_STRICT_UNORDERED

在结果集数据中不要指定 id 字段,在比较时必须忽略 id。

于 2016-12-01T06:11:36.907 回答