【问题标题】:Assign association without record being reloaded在不重新加载记录的情况下分配关联
【发布时间】:2014-09-22 07:15:40
【问题描述】:

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

(订单属于购物车)

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

【问题讨论】:

  • 您是否尝试过存根分配的购物车 (allow(subject.cart).to ...)?

标签: ruby-on-rails rspec stub


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-15
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2011-07-10
    • 1970-01-01
    • 2021-08-18
    相关资源
    最近更新 更多