我正在尝试编写一个测试来确认我的应用程序发送了一个
404 Not Found
以响应对无效记录的请求(比如带有id=0
的记录)。
我的测试代码是这样的:
get '/pluralized_name_for_my_resource/0', as: :json
assert_response :not_found, "Doesn't return 404 Not Found for invalid id"
如果我将相应的 URL 插入浏览器,例如
http://localhost:3000/pluralized_name_for_my_resource/0.json
,应用程序在内部引发 activerecord 异常(并在日志中打印一条关于它的消息)但正确响应 404 Not Found
.
然而,当我运行测试时,异常的处理方式不同。测试中止并在第一行
get '/pluralized_...
返回,并报告为错误而不是通过测试。
我怎样才能使我的测试环境以与我的开发环境相同的方式处理异常,以便我的测试通过?