Addressable::URI::InvalidURIError: Не может быть пути с двумя начальными слешами без установленных прав доступа: '//'

Наши тесты проходят локально. Но в Circle CI мы получаем ошибку, как показано ниже для всех интеграционных тестов, которые мы написали с использованием капибары, Rspec.

Failures:

  1) the inspection access When inspector has no access removes inspection from table
     Failure/Error: visit '/'

     Addressable::URI::InvalidURIError:
       Cannot have a path with two leading slashes without an authority set: '//'
     # /home/ubuntu/.bundle_end_to_end/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:2429:in `validate'
     # /home/ubuntu/.bundle_end_to_end/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:1538:in `path='
     # /home/ubuntu/.bundle_end_to_end/ruby/2.3.0/gems/capybara-2.15.2/lib/capybara/session.rb:265:in `visit'
     # /home/ubuntu/.bundle_end_to_end/ruby/2.3.0/gems/capybara-2.15.2/lib/capybara/dsl.rb:50:in `block (2 levels) in <module:DSL>'
     # ./spec/support/sessions_management.rb:3:in `sign_in'
     # ./spec/support/sessions_management.rb:19:in `sign_in_as'
     # ./spec/inspection_access_spec.rb:11:in `block (3 levels) in <top (required)>'

  2) the inspection access When inspector has access adds the inspection to the table
     Failure/Error: visit '/'

     Addressable::URI::InvalidURIError:
       Cannot have a path with two leading slashes without an authority set: '//'

Rails 4.2.8 и Ruby 2.3.3. Любая идея, где мы должны посмотреть?

1 ответ

Решение

У тебя есть Capybara.app_host установить с последующим '/' (например, Capybara.app_host = "http://www.example.com/"). Это вызывает проблему в Capybara 2.15.2 при посещении "/". Либо удалите завершающий символ '/' (например, Capybara.app_host = http://www.example.com/`) если возможно, или откатитесь на Capybara 2.15.1, пока не выйдет 2.15.3.

Другие вопросы по тегам