【问题标题】:Rspec expects status code 201 but fails on code 200Rspec 需要状态代码 201,但在代码 200 上失败
【发布时间】:2020-11-16 17:44:27
【问题描述】:

我正在使用 Rspec 测试 API,我的一项测试预计错误代码为 201,但由于收到意外代码 200 而失败,代码如下:

it 'returns status code 201' do
      expect(response).to have_http_status(201)
end

我希望所有状态为 200 的人都能通过测试。我应该使用什么方法?我需要创建一个测试助手来完成这个吗?

【问题讨论】:

  • 你能澄清一下这个问题吗?你是说200年代的任何事情都应该过去吗?鉴于 HTTP 状态代码都截然不同,这似乎很奇怪。对于创建了“资源”的 POST 请求,通常会返回 201;然而,许多 API 会为按计划进行的任何事情返回 200,包括创建、更新、一般数据获取等。
  • 是的,我想做到这一点,以便 200 年代的任何东西都能成功。

标签: ruby-on-rails rspec rails-api


【解决方案1】:
it "have success status" do
  expect(response).to have_http_status(:success)
end

Matcher 消息说

   expected the response to have a success status code (2xx)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多