Ruby on rails Rails/RSpec:使用:在观察者规范中指定?
我正在记录要在活动提要中使用的模型更改。我有一个观察员可以这样做(activerecord dirty): 这将此功能从控制器中抽象出来。我想用rspec测试一下,所以我有:Ruby on rails Rails/RSpec:使用:在观察者规范中指定?,ruby-on-rails,rspec,rspec-rails,observers,Ruby On Rails,Rspec,Rspec Rails,Observers,我正在记录要在活动提要中使用的模型更改。我有一个观察员可以这样做(activerecord dirty): 这将此功能从控制器中抽象出来。我想用rspec测试一下,所以我有: it "assigns derp.changes to @changes" do derp.attribute = 5 @observer.before_update(derp) expect(assigns(:changes)).to eq(derp.changes) end 我收到以下错误:RSpec::
it "assigns derp.changes to @changes" do
derp.attribute = 5
@observer.before_update(derp)
expect(assigns(:changes)).to eq(derp.changes)
end
我收到以下错误:RSpec::ExampleGroups::DerpObserver::BeforeUpdate:0x007fc6e24eb7f8的未定义方法“assigns”
如何在观察者规范中使用赋值?或者,是否有其他方法可以测试@changes-get-assigned?instance\u variable\u-get是我想要的
it "assigns derp.changes to @changes" do
derp.attribute = 5
@observer.before_update(derp)
expect(assigns(:changes)).to eq(derp.changes)
end
expect(@observer.instance_variable_get(:@changes)).to eq(derp.changes)