У меня есть этот код в контроллере и вы хотите протестировать эту строку кода с функциональным тестом.Как я могу проверить ActiveRecord :: RecordNotFound в моем приложении rails?
raise ActiveRecord::RecordNotFound if @post.nil?
который утверждает метод использовать? Я использую встроенный рельс 2.3.5.
Я пробовал с этим кодом:
test "should return 404 if page doesn't exist." do
get :show, :url => ["nothing", "here"]
assert_response :missing
end
, но он не работает для меня. Получил этот тестовый выход:
test_should_return_404_if_page_doesn't_exist.(PageControllerTest):
ActiveRecord::RecordNotFound: ActiveRecord::RecordNotFound
app/controllers/page_controller.rb:7:in `show'
/test/functional/page_controller_test.rb:21:in `test_should_return_404_if_page_doesn't_exist.'
спасибо, мне это нравится! – xaver23
Мне нравится 'rescue_from ActiveRecord :: RecordNotFound' в моем ApplicationController (в application_controller.rb), потому что мне не нравятся блоки' assert_raises'. –