分配关联而不重新加载记录

时间:2014-09-22 07:15:41

标签: ruby-on-rails rspec stub

当我尝试将购物车分配给关联的订单时,订单将从数据库中再次新载入该购物车,并且我的购物车存根将丢失。

(订单belongs_to cart)

cart = create(:cart)
allow(cart).to receive(:total){ Money.new(100,'USD') }
subject.cart = cart
# subject.cart.total != Money.new(100,'USD') because that cart is not stubbed

测试这个的最佳方法是什么?

我不能像以下那样存根关联,因为不会调用某些回调:

subject.stub(:cart){ cart } # does not apply to me

1 个答案:

答案 0 :(得分:0)

由于我有一个特殊的要求,我不能简单的存根关联访问器方法,我诉诸使用夹具。基本上我创建了一组相互关联的有效记录,并使用这些记录进行测试。