Я новичок в тестировании рельсов, и я использую блок: test. У меня есть действие в мой контроллерКак написать функциональный тестовый чехол в рельсах 3.1 и блок: тест
def save_campaign
unless params[:app_id].blank?
@app = TestApp.find(params[:app_id])
if params[:test_app]
@app.update_attributes(params[:test_app])
end
flash[:notice] = "Your Registration Process is completed"
redirect_to "/dashboard"
else
redirect_to root_path
end
end
и мой тест заключается в следующем
test "should save campagin " do
assert_difference('TestApp.count', 0) do
post :save_campaign, test_app: @test_app.attributes
end
assert_redirected_to "/dashboard"
end
end
Этот метод представляет собой метод пост. При выполнении этого теста, он терпит неудачу и показывает мне сообщение
«должен сохранить campagin (0.07s) Ожидаемый ответ быть редирект http://test.host/dashboard но был редирект http://test.host/ /home/nouman/.rvm /gems/[email protected]/gems/actionpack-3.1.3/lib/action_dispatch/testing/assertions/response.rb:67:in `assert_redirected_to»
Я думаю, что я я не даю ему правильного утверждения для проверки параметров
params [: app_id] и @app = TestApp.find (params [: app_id]).
Как написать такое утверждение для проверки этих атрибутов, проверьте, что параметр пуст. Как можно найти объект с заданным идентификатором.
Благодаря Чунг для ответ, извините, я не знал о вашем ответе, поэтому принял его через несколько месяцев. – user1014473