RSpec-如何在所有请求测试上全局设置https协议
Rspec版本-3.8 测试类型-请求规范RSpec-如何在所有请求测试上全局设置https协议,rspec,Rspec,Rspec版本-3.8 测试类型-请求规范 如何在所有请求规范上全局设置https协议?看起来您可能正在使用Rails,在这种情况下,您可以执行以下操作之一: 要为所有Rspec示例设置“https”,请创建一个文件,如spec/support/url_options.rb,其中包含以下内容: 要仅针对请求规范,可以使用钩子,例如: 对于站点范围的配置,您可以将以下内容添加到config/environments/test.rb中: 这对于请求规范应该可以很好地工作,但是特性规范可能会有额外的复
如何在所有请求规范上全局设置https协议?看起来您可能正在使用Rails,在这种情况下,您可以执行以下操作之一:
如果您不使用Rails,您仍然可以遵循上面的大致模式,但可以替换框架的等效方法或配置设置。如果所有其他方法都失败,您可以重写Rspec方法get()、post()等。在被重写的方法中,只需使用
{protocol:'https'}
或{'https'=>'on'}
合并到参数中即可调用super()
另外,请注意,“上的'HTTPS'=>”可能已经被弃用,取而代之的是协议:“HTTPS'
具有其他可能性的类似员额:
使用共享模块?我正在考虑在配置级别为所有请求规范设置https。我试过了,但失败了
RSpec.describe "Home", type: :request do
describe "GET /index" do
it "is a success" do
get root_path, {}, {'HTTPS' => 'on'}
expect(response).to have_http_status(200)
end
end
end
RSpec.configure do |config|
Rails.application.routes.default_url_options[:protocol] = 'https'
end
RSpec.configure do |config|
config.before(:all, type: :request) do
Rails.application.routes.default_url_options[:protocol] = 'https'
end
end
Rails.application.configure do
default_url_options[:protocol] = 'https'
end