【发布时间】:2018-02-14 13:50:28
【问题描述】:
在调试失败的集成测试时,我一直遇到同样的问题,即我的代码中引发的异常被抑制并且未显示在测试输出中。
例如,对于以下控制器和测试:
class RegistrationController::ApplicationController
def create
# some code that raises an exception
end
end
class RegistrationFlowTest < ActionDispatch::IntegrationTest
test 'user registers successfully' do
post sign_up_path, params: { username: 'arnold', password: '123' }
assert_response :success
end
end
输出类似于
Minitest::Assertion: Expected response to be a <2XX: success>, but was a <500: Internal Server Error>
有没有办法查看确切引发的异常?而不仅仅是HTTP响应码的区别?
谢谢!
西蒙
【问题讨论】:
-
可能只是你在参数上遗漏了一个冒号,所以不要
post sign_up_path, params { username: 'arnold', password: '123' },试试post sign_up_path, params: { username: 'arnold', password: '123' },另外检查sign_in_path。 -
不,只是写问题时的一个错字,但很好:)
标签: ruby-on-rails ruby ruby-on-rails-5 integration-testing actiondispatch