【发布时间】:2016-04-05 11:01:43
【问题描述】:
我开始编写一个测试,它使用 rpsec 将 json 正文发布到 API 并检查响应。
我在网上搜索了很多,但我找不到最简单的方法。
例如 我想将 json 正文发布到 https://my-web-site/notification 并检查响应为 201。
你们介意帮助我开始第一步吗?
非常感谢。
【问题讨论】:
我开始编写一个测试,它使用 rpsec 将 json 正文发布到 API 并检查响应。
我在网上搜索了很多,但我找不到最简单的方法。
例如 我想将 json 正文发布到 https://my-web-site/notification 并检查响应为 201。
你们介意帮助我开始第一步吗?
非常感谢。
【问题讨论】:
最简单的方法是使用控制器规范:
RSpec.describe NotificationController, :type => :controller do
# If you want to inspect the response, include this
# render_views
it "sends JSON data" do
post "/notification", foo: "bar", format: :json
expect(response.status).to eq(201)
# To examine the response:
# response_json = JSON.parse(response.body)
# expect(response_json).to eq({some: :object})
end
end
我建议实际检查正文 JSON 响应。只测试响应代码可能没有那么有意义。
【讨论】:
NotificationController 只是一个例子,不管你的控制器的名字是什么。 URL 是您的 routes.rb 中指定的任何内容