使用DBUnit / Constraint名称进行约束标识

时间:2016-05-06 12:38:22

标签: constraints dbunit spring-test-dbunit

当dbunit测试运行期间某些数据库约束失败时,其名称将被打印出来,例外情况,例如

Caused by: org.hsqldb.HsqlException: integrity constraint violation: foreign   key no parent; FK_AJRY4L84JDA0RY0XHP3A71CQ9 table: <Table name>

是否有可能找出哪个特定约束。受影响的表中的哪一列?显示的约束名称似乎是生成的约束名称。

我在互联网上找不到任何关于它的内容,所以我唯一要做的就是检查受影响的表,看看它有哪些约束,并猜测我的数据集可能会违反哪些......

1 个答案:

答案 0 :(得分:0)

目前,我做同样的事情 - 查看表定义以查找哪个项目具有该名称。

由于您具有可重现的情况,或许您可以看到dbUnit在问题的该点知道什么,以及它是否可以报告更多信息(例如,检查元数据并列出该索引中的字段),然后提交补丁,为该情况提供更多信息。例如捕获Exception,将其包装在DatabaseUnitException中,并带有包含dbUnit-found信息的消息。