使用springtestdbunit时如何解决外键约束违规问题?

时间:2017-10-10 09:52:02

标签: java dbunit spring-test-dbunit

我有两个表,其中一个表A的字段引用表B的字段,我使用注释@DatabaseSetup来导入xml文件,我在xml文件的数据集中写了表A和表B的数据。当我运行单元测试时,它表示表A上的INSERT导致违反键(0)的外键约束。

如何表达两个表之间的引用关系?

1 个答案:

答案 0 :(得分:0)

我认为你的数据集XML文件看起来像是:

<TABLE_A ID="1"/>

<TABLE_B ID="1" TABLE_A_ID="1"/>

如果出现以下情况,可能会发生此违规行为:

  • 您的第二行包含不存在的外键引用的值,例如:

<TABLE_A ID="1"/>

<TABLE_B ID="1" TABLE_A_ID="2"/>

  • 您的数据集文件以错误的顺序插入行,例如:

<TABLE_B ID="1" TABLE_A_ID="1"/>

<TABLE_A ID="1"/>

如果您提供数据集文件和Db单元测试我可以更具体