Rspec-rails: рд╕реБрд╡рд┐рдзрд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╕рдордп рд░реБрдкрдпреЗрдкреЗрдХ рдХреЛ рдирд╣реАрдВ рдорд╛рд░ рд╕рдХрддрд╛ред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЕрдХреНрддреВре░ 2017  ┬╖  37рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: rspec/rspec-rails

рдирдорд╕реНрддреЗ,

рдореИрдВрдиреЗ рд░реЗрд▓ 5.1 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдкреНрдпреВрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдлреАрдЪрд░ рдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп рдореИрдВ rspec рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд╣реАрдВ рдорд╛рд░ рд╕рдХрддрд╛ред рдЬрдм рдореИрдВ ctrl+c рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдкреНрдпреВрдорд╛ рд╕рд░реНрд╡рд░ рдХреЛ рдорд╛рд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди rspec рдкрд░реАрдХреНрд╖рдг рдЕрдВрдд рддрдХ рдЪрд▓рддреЗ рд░рд╣рддреЗ рд╣реИрдВ - рдФрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдПрдХ рдбреЗрдореЛ рд╣реИ:

https://github.com/Nerian/sample-capybara-rspec-issue

рдЗрд╕рдХреЗ рдмреАрдЪ рдореЗрдВ rspec рдФрд░ ctrl+c рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ rspec рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреНрдпреВрдорд╛ рд╕рд░реНрд╡рд░ рдорд╛рд░рд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди rspec рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдВ, рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ Ctrl-C рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рдЕрд╕рд░ рдирд╣реАрдВ рд╣реБрдЖред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрдпреВрдорд╛ рд░реЗрдкреЛ рдореЗрдВ рднреА рдЙрдард╛рдКрдВрдЧрд╛ред

рд╕рднреА 37 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛:

  %w[rspec-core rspec-expectations rspec-mocks rspec-rails rspec-support].each do |lib|
    gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'master'
  end

рд▓реЗрдХрд┐рди рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ред

рд╣рдореНрдо рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдкреНрдпреВрдорд╛ Ctrl-C рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рд╣рдо рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рдЖрдкрдиреЗ Ctrl-C рджреЛ рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХреА?

рд╣рд╛рдВ, рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ Ctrl-C рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рдЕрд╕рд░ рдирд╣реАрдВ рд╣реБрдЖред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрдпреВрдорд╛ рд░реЗрдкреЛ рдореЗрдВ рднреА рдЙрдард╛рдКрдВрдЧрд╛ред

рдХреНрдпрд╛ рдЖрдк рдкреНрдпреВрдорд╛ рдХреЛ рдЧреИрд░-рдХреНрд▓рд╕реНрдЯрд░ рдореЛрдб рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ 0 рдкрд░ рдФрд░ рдереНрд░реЗрдбреНрд╕ рдХреЛ 0,1 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ #1813 рдкрд░ рдмрд╛рддрдЪреАрдд рджреЗрдЦреЗрдВ

@JonRowe рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП puma.rb рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ:

threads 0, 1
port        ENV.fetch("PORT") { 3000 }
environment ENV.fetch("RAILS_ENV") { "development" }
workers 0
plugin :tmp_restart

рдлрд┐рд░ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реВрдВ:

rspec spec/features
Run options:
  include {:focus=>true}
  exclude {:slow=>true}

All examples were filtered out; ignoring {:focus=>true}
Puma starting in single mode...                                                                                                                           |  ETA: ??:??:??
* Version 3.10.0 (ruby 2.4.2-p198), codename: Russell's Teapot
* Min threads: 0, max threads: 4
* Environment: test
* Listening on tcp://127.0.0.1:62430
Use Ctrl-C to stop
^C- Gracefully stopping, waiting for requests to finish
=== puma shutdown: 2017-10-25 08:42:29 +0200 ===
- Goodbye!

рдкреНрдпреВрдорд╛ рдмрдВрдж рдерд╛ рд▓реЗрдХрд┐рди рдЖрд░рдПрд╕рдкреАрдИрд╕реА рдирд╣реАрдВ рдерд╛ред рдореБрдЭреЗ рдЯреИрдм рдмрдВрдж рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИред 3.6.0 рд╡рд╛рдкрд╕ рд▓реМрдЯрдиреЗ рд╕реЗ рдпрд╣ рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ puma рд╣рдорд╛рд░реЗ рд░рддреНрди рдореЗрдВ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред

rspec-rails 3.7 рдЬрд┐рд╕рдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг рдкреЗрд╢ рдХрд┐рдпрд╛, рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП actiondispatch/system_test_case рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХрд┐ рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ ActionDispatch::SystemTesting::Server рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Rack::Handler::Puma рдЬреЛ Puma::Launcher рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╣рд╛рдИрдЬреИрдХ рдХрд░рддрд╛ рд╣реИ, рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрдпреВрдорд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ , рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд░реВрдк рд╕реЗред рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реЛрдВ рдФрд░ рдпрд╣ рдЕрднреА рднреА рдкреНрдпреВрдорд╛ рдФрд░ рдРрдк рдХреЛ рдмреВрдЯ рдХрд░рддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ action_dispatch/system_test_case rspec-rails рджреНрд╡рд╛рд░рд╛ рддрдм рддрдХ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ SystemExampleGroup рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдкрд╕реНрдЯреНрд░реАрдо, рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдпрдж рдкреНрдпреВрдорд╛ :: рд╕рд░реНрд╡рд░ рд╕реАрдзреЗ рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЯреАрдмреАрдПрдЪ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд░реЗрд▓ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рд▓реЛрдЧ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рд░реЗрд▓ рдореЗрдВ рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдорд┐рдирд┐рдЯреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЙрддрдиреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЛ action_dispatch/system_test_case рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рдЖрдорддреМрд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдЯреЗрд╕реНрдЯ рдХреЗрд╕ (рдПрд▓рдУрдПрд▓ рдСрдЯреЛрд▓реЛрдбрд┐рдВрдЧ) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ rspec-rails рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ action_dispatch/system_test_case ред

рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреИрдЪ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдмреВрдЯ рд╕реЗ рдмрдЪрддреЗ рд╣реБрдП рд╕рд┐рд╕реНрдЯрдо рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░рддрд╛ рд╣реИ?

рд╕рдорд╕реНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрдпреВрдорд╛ рдХреЗ рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд░реЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг рдЗрд╕реЗ рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рдореНрдоред рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрдпреВрдорд╛ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдмреЗрд╣рддрд░ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрдпреВрдорд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ "RACK_ENV" рдХреЛ "рд╡рд┐рдХрд╛рд╕" рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рднреА рддреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрдм рд╣рдордиреЗ рдмрд╕ rspec-rails рдХреЛ рдЯрдХреНрдХрд░ рджреАред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкреНрдпреВрдорд╛ рдпрд╛ рдореЗрд░реЗ рдРрдк рдХреЛ рдмреВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдореЗрд░реА рдХреИрдкреАрдмрд╛рд░рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рд╕реНрдЯреЙрдореНрдк рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд╕ рдЯрдХреНрдХрд░ rspec-rails рдиреЗ рдЗрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдХрд┐рдпрд╛ рд╣реИред

рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдЯреЗрд╕реНрдЯ рд╕реЗрдЯрдЕрдк рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреАрдЖрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ "рдмрдВрдж" рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░реЗрдЧрд╛ рдЬрдм рд▓реЛрдЧ SystemExampleGroup рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдХреЗрд╡рд▓ рдлреАрдЪрд░ рд╕реНрдкреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдирдП рд╕рд┐рд╕реНрдЯрдо рд╕реНрдкреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрд╕реНрдЯреНрд░реАрдо рдлрд┐рдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред :-(

рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ "рдЦрд░рд╛рдм" * рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдЬреЛ рдЧрд▓рддреА рд╕реЗ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмреВрдЯ рдХрд░рддреЗ рд╣реИрдВред

рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг "рд╕рд╛рдорд╛рдиреНрдп"* рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

* рд░реЗрд▓ рдЬреЛ рдХреБрдЫ рднреА рдХрд░ рд░рд╣реА рд╣реИ рдЙрд╕рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рд╕реЗ :)

action_dispatch/system_test_case рд▓реЛрдб рдирд╣реАрдВ рдХрд░рдиреЗ рд╕реЗ рд▓реЛрдЧ рдЦрд░рд╛рдм/рдкреБрд░рд╛рдиреЗ/рд╡рд┐рд░рд╛рд╕рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп/I'm-use-system-tests-with-rspec рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ - рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА Ctrl+C рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдХреБрдЫ рдХрд░реЗрдВрдЧреЗ, рдХреБрдЫ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдпрд╣ рдкреНрдпреВрдорд╛ рдХреЙрдиреНрдлрд┐рдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

action_dispatch/system_test_case рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрдпреВрдорд╛ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдЫреБрдЖ/рд▓реЛрдб/рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдорд╛рдирд╛ред рдореЗрд░рд╛ рдХрд╣рдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ action_dispatch/system_test_case рдкреНрдпреВрдорд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рд░рдлреЗрд╕ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЦрд░рд╛рдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХреА рдкреНрдпреВрдорд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ, рдФрд░ action_dispatch/system_test_case рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рджреЗрд░реА рдХреЗрд╡рд▓ рдЗрд╕реЗ рдЦрд░рд╛рдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЫреБрдкрд╛рддреА рд╣реИред

рдореИрдВ рд▓реЛрдбрд┐рдВрдЧ рдореЗрдВ рджреЗрд░реА рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реВрдВ, рдмрд╕ рдЗрд╕рдореЗрдВ рд╕рдореГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджреЗ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЖрд╣ рд╣рд╛рдБ, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рд╣рдо рдЖрдХреНрд░рд╛рдордХ рд░реВрдк рд╕реЗ рд╕рд╣рдордд рд╣реЛ рд░рд╣реЗ рд╣реИрдВ

рдмрд╕ рдПрдХ рдиреЛрдЯ: рдЖрдк Capybara.server = :webrick рдФрд░ рдкреНрдпреВрдорд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЬрдм рддрдХ рдпрд╣ рдареАрдХ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рдореИрдВ рдпрд╣реА рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдкреАрдбрд╝рд┐рдд рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЕрдкрдирд╛ рдкреНрдпреВрдорд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдпрд╣рд╛рдВ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдПрдХ рд╕рд╛рджреЗ рд░реЗрд▓ рдРрдк рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛, #1903 рдПрдХ рд╕реНрдкрд┐рди рднреА рджреЗрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг рдПрдХреАрдХрд░рдг рдореЗрдВ рджреЗрд░реА рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@JonRowe рдкреВрд░реНрдг рдбреЗрдореЛ: https://github.com/Nerian/sample-capybara-rspec-issue

рд╣рд╛рдВ, рдЬреЛ рдЗрд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ puma рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдКрдкрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рд╣рд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдкреНрдпреВрдорд╛ рдХреЛ рд░реЗрд▓ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░реЗ рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдкрд░ рд╕реНрдЯреЙрдореНрдк рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдорд╛рд╕реНрдЯрд░ рдкрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░рддрд╛ рд╣реИ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкреНрдпреВрдорд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛? рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдмрдиреА рд░рд╣реЗрдЧреА

@JonRowe

рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдирдореВрдирд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

https://github.com/Nerian/sample-capybara-rspec-issue

рдпрд╣ рд╡рд╣ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ:
https://gist.github.com/Nerian/93716d084bb4a9cfcce0a75f98263277

рдореИрдВрдиреЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд┐рдП, рдлрд┐рд░ рдореИрдВрдиреЗ ctrl-c рдорд╛рд░рд╛ред рдкреНрдпреВрдорд╛ рд╕рд░реНрд╡рд░ рдмрдВрдж рд╣реИ рд▓реЗрдХрд┐рди рдЖрд░рдПрд╕рдкреАрдИрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреА рд╣реИ - рдФрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛрдИ рдореЛрд░реЛ рдирд╣реАрдВ рд╣реИред

рд╣рд╛рдВ рдЖрдкрдХрд╛ рдирдореВрдирд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдо рдЖрд░рдПрд╕рдкреАрдИрд╕реА рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@JonRowe , рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд░реЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреА рддрд░рд╣? рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╕рд╛рд░реНрдердХ рдореБрджреНрджреЗ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирддрд╛ рд╣реВрдБред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ "рдЦрд░рд╛рдм" рдФрд░ "рд╕рд╛рдорд╛рдиреНрдп" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдкрдврд╝рд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рди рд╣реА рдЕрдЪреНрдЫреЗ рдпрд╛ рдмреБрд░реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЗ рдЙрджрд╛рд╣рд░рдгред рдХреНрдпрд╛ рдЖрдк рд╢рд╛рдпрдж рдПрдХ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдореБрдЭреЗ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХреЗрдВред

рдЖрд╣, рдореИрдВрдиреЗ рдЕрднреА https://github.com/rails/rails/pull/30638 https://github.com/rails/rails/pull/30712 рдкрд╛рдпрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЗрд╕реЗ рд░реЗрд▓ 5.1.5 рдФрд░ 5.2 рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ 5-1-stable рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдпрд╛ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдБрдЧрд╛ред

рдХреЛрдИ рдЦрдмрд░ @ aried3r? рдореИрдВрдиреЗ рдЙрди рдкреАрдЖрд░ рдХреЛ рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред :рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛:

рд░реЗрд▓ 5.1.4 рдФрд░ рд░реБрдкреЗрдХ 3.7.0 рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдБ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ

@ deivid-rodriguez рдореБрдЭреЗ рдЕрднреА рднреА рд░реЗрд▓ 5.1.5 рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИред

рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд░реБрдХ-рд░реБрдХ рдХрд░ рдЖрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ (рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж рд╕реЗ)ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕реЗ Rails 5.2 рдореЗрдВ рдареАрдХ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рд░реЗрд▓ 5.1 рдФрд░ рдХреИрдкрд┐рдмрд╛рд░рд╛ рджреНрд╡рд╛рд░рд╛ Rack::Handler::Puma.run рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрдпреВрдорд╛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реИ рдЬреЛ рд╕рд┐рдЧреНрдирд▓ рдЯреНрд░реИрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдХреИрдкреАрдмрд╛рд░рд╛ рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ https://github.com/teamcapybara/capybara/pull/1992 рд╣реИ

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрддрд▓реЗ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рдкреАрдЖрд░ рдореИрдВрдиреЗ рдХреИрдкрд┐рдмрд╛рд░рд╛ рдЯреАрдо рдХреЗ рд╕рд╛рде рдЦреЛрд▓рд╛ рд╣реИ: https://github.com/teamcapybara/capybara/pull/2022

рдореИрдВрдиреЗ рдиреЗрд░рд┐рдпрди рдХреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рд▓рд┐рдпрд╛ рдФрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдм рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдЗрдЧреНрдирд┐рд╕рдл рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЗ рд░реЗрдкреЛ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ ред

рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рдХреЛрдб рдкрд░ рдПрдХ рдмрдВрдбрд▓ рд╕реНрдерд╛рдкрд┐рдд рдкреНрдпреВрдорд╛ 3.10.0 рд╕реНрдерд╛рдкрд┐рддред рдбреЗрд╡рд┐рдб-рд░реЛрдбреНрд░рд┐рдЧреНрдЬ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдореБрджреНрджрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреНрдпреВрдорд╛ 3.6.0 рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╢рд╛рдирджрд╛рд░

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

sanjsharma picture sanjsharma  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bibisreebi picture bibisreebi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

oveddan picture oveddan  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

skizzybiz picture skizzybiz  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

a-leung picture a-leung  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ