RSpec'变化'无法发现差异

时间:2015-07-02 09:10:50

标签: ruby-on-rails rspec factory-bot

我现在一直在努力改变测试。我得到了这个测试:

let(:office)   { create(:office) }

...

it "toggles products free attribute", :focus do
  expect do
    patch :toggle_free, product_ids: [office.id]
  end.to change(office, :free).to(1)
end

我确切地知道代码有效。我在控制台之前和之后打印#free,但是#change没有抓住它们。我究竟做错了什么?我一直在使用括号表示法但没有成功。我很确定答案很简单,但我无法解决。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您需要重新加载office,在office.reload之后和patch之前添加end,以便您的对象注意到数据库中的更改并获取更新。