Rails测试夹具与唯一性

时间:2009-12-12 03:57:09

标签: ruby-on-rails ruby unit-testing testing

在Rails中,灯具记录似乎已插入&针对给定模型单独删除。我想测试在一个事务中有很多对象/行,例如。检查唯一性。怎么做?

2 个答案:

答案 0 :(得分:4)

未确认灯具。当你设置它们时,它们可能是完全错误的,Rails不会抱怨直到爆炸。在测试运行之前,确保初始测试DB(用你的灯具播种)处于有效状态是个好主意。

为了检查诸如唯一性之类的东西,我会动态创建记录而不依赖于固定装置。要么在测试用例中创建它们,要么使用类似FactoryGirl的东西(顺便提一下,它是清理测试并完全停止使用灯具的好方法)。

答案 1 :(得分:2)

您是说要构建测试来检查rails“validates_uniqueness_of”运算符,还是要测试自己唯一记录的逻辑?在第一种情况下,我不会打扰,Rails测试涵盖了这一点。在第二种情况下,我将创建一个测试,创建一个与灯具中的记录相同的记录。

从广义上讲,将多个保存放入单个事务中,您可以创建对象,然后:

MyModel.transaction do
  model1.save
  model2.save
end

但我不认为这是完成你想要做的任何事情的方法。