当我尝试将购物车分配给关联的订单时,订单将从数据库中再次新载入该购物车,并且我的购物车存根将丢失。
(订单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
答案 0 :(得分:0)
由于我有一个特殊的要求,我不能简单的存根关联访问器方法,我诉诸使用夹具。基本上我创建了一组相互关联的有效记录,并使用这些记录进行测试。