应该在一条线上验证多个属性吗?

时间:2011-10-05 19:47:39

标签: ruby shoulda

使用我使用的旧的Shoulda插件,我曾经能够执行以下操作:

should_have_many :posts, :authors, :comments

升级我的Shoulda版本后,我不得不将其更改为:

should have_many :posts
should have_many :authors
should have_many :comments

我已经尝试将它全部放在一行上,所以它只是

should have_many :posts, :authors, :comments

但那不起作用。反正有没有干这个?

我正在使用Shoulda 2.11.3

1 个答案:

答案 0 :(得分:1)

你可以尝试:

[:posts, :authors, :comments].each do |models|
  it { should have_many(models) }
end

这将在结果中显示为三个单独的测试。

我使用Rspec,所以上面是Rspec格式,但我认为类似的方法应该适用于Test :: Unit。

我不确定这是否会为你节省很多,但如果你有许多相同类型的关系,它将变得更有价值。也许它更适用于allow_mass_assignment_of

相关问题