【发布时间】:2013-07-20 11:22:19
【问题描述】:
我在测试错误代码时遇到了问题。如果未找到记录,则会引发异常 ActiveRecord::RecordNotFound。问题是,我想检查是否返回了 404。如果我继续检查:
response.status.should == 404
然后这将使测试用例失败,因为 RecordNotFound 异常被抛出并且未被捕获。如果我继续说
expect {<call controller action>}.to raise_error(ActiveRecord::RecordNotFound)
然后检查状态码,然后再次失败,因为它捕获了异常并且响应码是200。
在这种情况下我应该如何测试是否返回404?
【问题讨论】:
-
遇到同样的问题!我需要跳过/绕过至少一个异常以查看返回的内容(例如 404、400 等)
标签: ruby-on-rails ruby testing rspec