如何用 Capybara 测试 OPTIONS 请求?

How to test OPTIONS request with Capybara?

使用 Capybara 测试 OPTIONS 响应的好方法是什么?

用例:需要为 CORS 配置 Rails 应用响应 headers。我知道这不是 "user experience" 的一部分。但是,如果浏览器无法发出请求,用户将无法使用该网站。

使用 Capybara 测试 OPTIONS 响应的一个好方法是不使用 Capybara。

开个玩笑,这最好在 控制器测试 请求规范中完成,因为它不涉及任何实际的 html 解析。

RSpec.describe 'Rabbits' do
  describe "GET /rabbits/:id" do
    it "enables CORS" do
      get rabbit_path(rabbit)
      expect(response.headers['Access-Control-Allow-Origin']).to eq "*"
    end
  end
end

您可以使用 process :show, "OPTIONS" [1]

测试 OPTIONS http 方法