当我尝试在SQL Server中测试crud操作时,我一直面临一个非常令人沮丧的问题。 请注意,我使用了hibernate,dbunit,ms sql server2008r2和jpa的组合。Java dbUnit CRUD测试错误
因此,正如我之前提到的,我尝试使用dbunit来测试CRUD操作。在dbunit的文档之后,我创建了一个XML文件,其中包含必需的记录,另一个文件在操作结束时进行比较。 在我的情况下,最初的xml只包含两行,这也代表了我的实体之间的关系。 XML初始
预期结果
<xml>
<A id="1" name="nameA"/>
<B id="1" name="nameB" A_id="1">
<B id="2" name="nameBB" A_id="1">
</xml>
需要注意的是,我们通过默认设置只有干净的刀片战略下的设置操作,而没有定义销毁操作,是没有的。
因此,当我尝试在表b中插入另一个记录并引用表A时,如果数据库是干净的,它就会正常工作。但是,每次我们尝试重新执行相同的测试时,都会由于违反外键约束而发生错误。 理论上讲,dbunit每次插入从xml检索到的数据时,都应该(按照干净插入策略)按相反顺序删除,然后插入记录。但是,如前所述,它不会删除指示违反密钥的记录,这会导致我认为相反的顺序并不真正起作用。
任何想法? TNX提前
你能告诉你所使用的测试用例设置的代码? –