当有问题的DB模式有很多约束时,如何测试数据库查询?

时间:2011-08-15 07:29:09

标签: unit-testing jpa fixtures xunit

背景:

  • 中等数据库架构(约70个表)
  • 它们之间有很多外键和其他约束(非空等)
  • 所有测试的共享数据库夹具
  • 一些简单的拆解逻辑,在每次测试后截断“触摸”的表格,并将测试前的任何内容放在那里
  • 通过JPA / Hibernate / Toplink或其他一些对象关系映射解决方案查询数据库

现在,最大的问题是我们想要向DB添加一些记录,我们现在必须手动执行此操作,即通过sql脚本(在相关测试之前执行)。 这导致我们几乎每次测试都会出现Mystery Guest问题。

你会如何处理?

我的想法如下:

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

0 个答案:

没有答案
相关问题