3
我开始使用这种方式:用Rspec测试DELETE请求的最佳方法是什么?
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请求删除数据的最佳方式。
我已经有所有的URL和方法,所有的测试。我的问题是关于我只需要测试删除请求,而不是检查数据库上是否存在该对象?或者我可以使用我的方式进行测试,在数据库上创建两个类别,删除一个并列出所有类别以检查删除的数据库是否在阵列上。检查此链接:https://github.com/larica/larica-api/blob/342ca6ff4a6f69651c814515a7be950afb8a47b0/spec/api/v1_categories_spec.rb – 2014-10-12 01:40:49
两种方法都可以。 =) – 2014-10-12 02:02:05
这只是一个味道问题。如果可以的话,我不喜欢混合使用同一规格的所有路线,但正如我所说,这只是我的看法。你的方式很好! – 2014-10-12 02:03:13