【发布时间】:2015-08-13 19:37:15
【问题描述】:
我有一个控制器功能:
def update
@simulation = Simulation.find(params[:id])
@simulation.next
puts "--"
puts @simulation.dirty?
puts @simulation.save
if (@simulation.save && @simulation.dirty?)
render :partial => 'show', :object => @simulation
end
end
还有一个 rspec 测试:
it "should render a partial when the record is dirty" do
allow(@simulation).to receive('dirty?') { true }
put :update, :id => @simulation.id, :format => 'js'
expect(response).to render_template( :partial => 'show' )
end
测试未能呈现视图,因为 if 检查没有通过,因为它不会为 @simulation#dirty 返回 true?即使函数被存根。由于控制器中的放置,我可以看到这一点。任何想法为什么它不起作用?
【问题讨论】:
标签: ruby-on-rails rspec controller stub