У меня есть функция контроллера:RSpec «Разрешить» заглушка не устанавливать переменные
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
тест не в состоянии вынести мнение потому, что если проверка не проходит, потому что он не вернет true для @ simulation # грязный? даже несмотря на то, что функция заштрихована. Я вижу это из-за пометок в контроллере. Любые идеи, почему это не работает?
Это дает мне 'NoMethodError: неопределенный метод' предков для # ' –
NNNNNNNNNNDelicious
Какой метод в сообщении об ошибке отсутствует? – tyamagu2
2) SimulationsController PUT #update должны оказывать частичное, когда запись загрязнен Сбой/Ошибка: allow_any_instance_of (@simulation) .чтобы получить (: немытый) and_return (правда) NoMethodError:. неопределенный метод 'предков для # <Моделирование: 0x007fd0d1925a50> – NNNNNNNNNNDelicious