Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 当所讨论的DB模式有很多约束时,如何测试DB查询?_Unit Testing_Jpa_Fixtures_Xunit - Fatal编程技术网

Unit testing 当所讨论的DB模式有很多约束时,如何测试DB查询?

Unit testing 当所讨论的DB模式有很多约束时,如何测试DB查询?,unit-testing,jpa,fixtures,xunit,Unit Testing,Jpa,Fixtures,Xunit,背景: 中等数据库模式大约70个表 它们之间有大量外键和其他非空约束等 用于所有测试的共享DB夹具 一些简单的分解逻辑,在每次测试后截断接触的表,并将测试前的内容放在那里 数据库由JPA/Hibernate/Toplink或其他一些对象关系映射解决方案查询 现在,最大的问题是我们想向数据库中添加一些记录,我们现在必须手动执行,即通过在相关测试之前执行的sql脚本。 这几乎在我们进行的每项测试中都会导致一个问题 你会怎么处理 我的想法如下: 为每一个测试创建一个新的夹具将是一种过分的做法,因为我们

背景:

中等数据库模式大约70个表 它们之间有大量外键和其他非空约束等 用于所有测试的共享DB夹具 一些简单的分解逻辑,在每次测试后截断接触的表,并将测试前的内容放在那里 数据库由JPA/Hibernate/Toplink或其他一些对象关系映射解决方案查询 现在,最大的问题是我们想向数据库中添加一些记录,我们现在必须手动执行,即通过在相关测试之前执行的sql脚本。 这几乎在我们进行的每项测试中都会导致一个问题

你会怎么处理

我的想法如下:

为每一个测试创建一个新的夹具将是一种过分的做法,因为我们有很多约束 另一种方法是创建一些oracle,给定一个对象的存根,它将返回一个准备放入DB的对象,即不违反任何约束。 当然,我们的经理并不喜欢这个好的解决方案,因为我们需要花一点时间来创造这样一个怪兽。