什么时候开始测试与Shoulda的联系?

时间:2013-02-15 17:06:28

标签: ruby-on-rails rspec shoulda

使用RSpec和Shoulda,您可以:

it { should belong_to(:product) }

我被告知规格应该指明观察到的行为。此规范看起来似乎是可以在模型中编写的代码重复。那么实际使用这样的测试有时间和地点吗?

1 个答案:

答案 0 :(得分:3)

更大的问题是,为什么测试这个很难?如果你被告知specs应该指定观察到的行为,并且具有belongs_to的模型自动给它一个访问关联的方法,那是不是要观察的东西?您可以测试#product方法,但该测试将如何进行?

it "has an association to a product" do
  product = Product.create
  model = Model.create(:product_id => product.id)
  model.product.should eq product
end

这真的比仅使用单衬垫好吗?

it { should belong_to(:product) }

如果代码在任何方面很重要,你应该测试它。

此外,如果您正在关注TDD,您将首先编写测试以指定关联必须存在,然后放入代码以维护该测试。