0

我正在为控制器的 update 方法编写 Rspec,该控制器T使用给定的 id更新表中的记录ID。在规范中,我想添加一个案例来检查ID表中是否存在任何记录T,如果它不存在,它应该给出如下错误但是对于 RSpec 来说是新手,我无法完成它。

  it "should give error when record with the given id does not exist" do
    pending "case yet to be handled"
  end

因此,如果有人帮助我编写此规范。

4

2 回答 2

0

您可以Model.find检查该记录是否不存在。

it "should give error when record with the given id does not exist" do
    expect { Model.find(<your ID>) }.should raise_error(ActiveRecord::RecordNotFound::Error)
end
于 2013-08-20T05:38:25.737 回答
0

您应该传递参数 id 并使用正确的 HTTP 动词来发送请求以更新操作。IE

it "should give error when record with the given id does not exist" do
    put :update, id: <invalid_id>
    # you expectations here    
end

我如何学会测试我的 Rails 应用程序,第 4 部分:控制器 spe有一些关于控制器测试的示例和更多解释。

于 2013-08-20T05:47:00.023 回答