Похоже, вы используете Rails, и в этом случае вы можете сделать одно из следующих действий:
- Чтобы установить «https» для всех примеров Rspec, создайте файл, например spec / support / url_options.rb , который содержит следующее:
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
- Для конфигурации всего сайта вместо этого можно добавить следующее в config / environment / test.rb :
Rails.application.configure do
default_url_options[:protocol] = 'https'
end
Это должно хорошо работать для спецификаций запроса, но могут быть дополнительные сложности со спецификациями функций. В этом случае см https://github.com/rspec/rspec-rails/issues/1275.
Если вы не используете Rails, вы все равно можете следовать вышеприведенному шаблону, но заменить эквивалентный метод или настройку вашей платформы. Если все остальное терпит неудачу, вы можете переопределить методы Rspec get (), post () и т. Д., А в переопределенных методах просто вызвать super()
с { protocol: 'https' }
или { 'HTTPS' => 'on' }
, объединенными в аргументы.
Также обратите внимание, что 'HTTPS' => 'on'
может быть признано устаревшим в пользу protocol: 'https'
.
Похожие посты с дополнительными возможностями:
Проверка HTTPS (SSL) запроса в RSpec Rails
Простой способ проверить HTTPS (SSL) запрос с помощью RSpec
Принудительное использование HTTPS / SSL для всех спецификаций контроллера / запроса в rspec