我正在尝试使用rspec测试我的rails项目并且遇到了一些困难,我正在尝试编写更新产品的请求规范,但它似乎不起作用:
这是我的测试:
it 'updates a product' do
put :update, id: @product, product: FactoryGirl.attributes_for(:product, title: "New Title")
@product.reload
@product.title.should eq("New Title")
end
这是我得到的错误:
Failure/Error: put :update, id: @product, product: FactoryGirl.attributes_for(:product, title: "New Title")
URI::InvalidURIError:
bad URI(is not URI?): http://www.example.com:80update
如何解决这个问题的任何帮助将不胜感激。
答案 0 :(得分:0)
您是否设置了@product
?它没有显示在您的代码中。如果没有,那么问题可能是您的PUT请求中的id参数为零。如果已设置@product
,您是否尝试使用id: @product.id
代替id: @product
?