我对测试错误代码有疑问。如果未找到记录,则会引发异常 ActiveRecord::RecordNotFound。问题是,我想检查是否返回了 404。如果我继续检查:
response.status.should == 404
然后这将使测试用例失败,因为 RecordNotFound 异常被抛出并且未被捕获。如果我继续说
expect {<call controller action>}.to raise_error(ActiveRecord::RecordNotFound)
然后检查状态码,然后它会再次失败,因为它会捕获异常并且响应码是 200。
在这种情况下,我应该如何测试是否返回 404?