使用RSpec和Shoulda,您可以:
it { should belong_to(:product) }
我被告知规格应该指明观察到的行为。此规范看起来似乎是可以在模型中编写的代码重复。那么实际使用这样的测试有时间和地点吗?
答案 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,您将首先编写测试以指定关联必须存在,然后放入代码以维护该测试。