Я пытаюсь проверить контроллер, который вызывает исключение ActionController::BadRequest
при различных сценариях ios. Каждый сценарий предоставляет конкретное c сообщение в журнал.
Для проверки я получаю проходной тест, если я напишу:
test "should raise exception due to missing Data A" do
post comment_path
assert_response :bad_request
end
Однако, :bad_request
может быть из-за много вещей. Я хотел бы проверить значение сообщения об исключении - это то, что ожидается. Есть ли способ получить к нему доступ?
Если я попытаюсь переписать тест следующим образом, результат будет следующим: ActionController :: BadRequest ожидается, но ничего не получено :
test "should raise exception due to missing Data A" do
exception = assert_raise ActionController::BadRequest do
post comment_path
end
assert_equal 'Missing Data A', exception.message
end
Я не понимаю, почему говорится, что «ничего не было поднято». В контроллере вызов буквально:
raise(ActionController::BadRequest.new(), "Missing Data A")
Есть ли способ проверить, является ли сообщение об исключении ожидаемым?