当一些数据库约束在dbunit测试运行过程中失败时,它的名称会被打印出来,并显示异常,例如
Caused by: org.hsqldb.HsqlException: integrity constraint violation: foreign key no parent; FK_AJRY4L84JDA0RY0XHP3A71CQ9 table: <Table name>
有没有可能找出哪个特定的约束是对应的。受影响的表中的哪一列?显示的约束名称似乎是生成的。
我在互联网上找不到任何关于它的信息,所以我唯一做的就是检查受影响的表,看看它有哪些约束,并猜测我的数据集可能违反哪些约束。。。
目前,我也在做同样的事情——查看表定义,找出哪个项具有该名称。
由于你有一个可重复的情况,也许你可以看看dbUnit在这个问题上知道什么,如果它可以报告更多信息(例如,检查元数据并列出该索引中的字段),然后提交一个补丁,为这种情况提供更多信息。例如捕获异常,将其封装在DatabaseUnitException中,并附上包含dbUnit已找到信息的消息。