Art*_*huk 1 rspec ruby-on-rails strong-parameters
如何测试某个动作是否会引发ActionController::ParameterMissing异常?
例如:
it "raises an exception" do
post :create, {}
expect(response).to raise ActionController::ParameterMissing
end
Run Code Online (Sandbox Code Playgroud)
以上似乎不起作用,它将失败测试与ActionController::ParameterMissing异常.
Aar*_*n K 15
使用raise_error匹配器使用expect块语法:
it "raises an exception" do
expect{ post(:create, {}) }.to raise_error ActionController::ParameterMissing
end
Run Code Online (Sandbox Code Playgroud)
您的代码不起作用的原因是post(:create, {})引发异常.这在expect(response).to ...代码执行之前发生.由于#post消息不在begin...end块中,因此引发的异常将传递给RSpec,导致测试失败.
| 归档时间: |
|
| 查看次数: |
3098 次 |
| 最近记录: |