ruby-on-rails – 使用Rspec测试DELETE请求的最佳方法?

ruby-on-rails – 使用Rspec测试DELETE请求的最佳方法?,第1张

概述我开始用这种方式: describe "DELETE /v1/categories/{id}" do before(:each) do # Login User/Token end it 'deletes a category' do category = Fabricate(:category) category2 = Fabricate(:c 我开始用这种方式:

describe "DELETE /v1/categorIEs/{ID}" do   before(:each) do     #   Login User/Token   end   it 'deletes a category' do     category = Fabricate(:category)     category2 = Fabricate(:category)     get "/v1/categorIEs"     expect(response.status).to eq 200     expect(JsON.parse(response.body)).to eq([YAML.load(category.to_Json),YAML.load(category2.to_Json),])     delete "/v1/categorIEs/#{category.ID}"     expect(response.status).to eq 200     get "/v1/categorIEs"     expect(JsON.parse(response.body)).to eq([YAML.load(category2.to_Json)])   end end

我不确定是否是测试API请求删除数据的最佳方法.

解决方法 到目前为止,您的测试确保:

>删除前获取请求的响应
> get请求的状态代码
>删除请求的响应
>删除请求的状态代码
>删除后获取请求的响应
> get请求的状态代码

这个测试比删除请求要多得多,但我认为没问题.最好是进行这种测试然后没有.

我要做的是改进这个测试,那就是在测试时拆分路线.
我将进行1次测试以确保索引路由按预期工作
1测试以确保删除路由正常工作.这样,索引路径上的错误不会破坏您的删除规范. =)

我会有这样的事情:

describe "GET /v1/categorIEs" do    before(:each) do        #   Login User/Token        category = Fabricate(:category)        category2 = Fabricate(:category)        get "/v1/categorIEs"    end    it 'should return status 200' do        expect(response.status).to eq 200    end    it 'List all categorIEs' do        expect(JsON.parse(response.body)).to eq([YAML.load(category.to_Json),])    endenddescribe "DELETE /v1/categorIEs/:category_ID" do    before(:each) do        #   Login User/Token        category = Fabricate(:category)        category2 = Fabricate(:category)        delete "/v1/categorIEs/#{category.ID}"    end    it 'should return status 200' do        expect(response.status).to eq 200    end    it 'should delete the category' do        expect(category.all).to eq category2    endend
总结

以上是内存溢出为你收集整理的ruby-on-rails – 使用Rspec测试DELETE请求的最佳方法?全部内容,希望文章能够帮你解决ruby-on-rails – 使用Rspec测试DELETE请求的最佳方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1286751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存