Rspec-core: рдкреГрдердХ рдЙрджрд╛рд╣рд░рдг рд╕рдореВрд╣ рдХреЗ `рдкрд╣рд▓реЗ(:рд╕рднреА)` рдХреЗ рднреАрддрд░ `рдЫреЛрдбрд╝реЗрдВ` рдмрд╛рд╣рд░реА рдЙрджрд╛рд╣рд░рдг рд╕рдореВрд╣ рдХреЗ рд▓рдВрдмрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдлрд╝рд░ре░ 2019  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: rspec/rspec-core

рдореБрджреНрджреЗ рдХрд╛ рд╡рд┐рд╖рдп

рдореИрдВ рдкрд╣рд▓реЗ рд╣реБрдХ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдкрд░реЗрд╢рд╛рдиреА рдореЗрдВ рдкрдбрд╝ рдЧрдпрд╛ рд╣реВрдВред рдЬрдм рдПрдХ before(:all) рд╣реБрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рд╕рдореВрд╣ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдмрд╛рд╣рд░реА рдЙрджрд╛рд╣рд░рдг рд╕рдореВрд╣ рдХреЛ рд▓рдВрдмрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкрд╛рд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг

  • рд░реВрдмреА рд╕рдВрд╕реНрдХрд░рдг: рд░реВрдмреА 2.5.3p105 (2018-10-18 рд╕рдВрд╢реЛрдзрди 65156) [x86_64-linux]
  • рдЖрд░рдПрд╕рдкреАрд╕реА-рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг: 3.8.0

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

describe do
  it 'should pass' do
    RSpec.describe do
      before(:all) { skip }
      it('should be skipped') { }
    end.run
  end
end

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

.*

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) should be skipped
     # No reason given
     # ./spec.rb:7


Finished in 0.0013 seconds (files took 0.07034 seconds to load)
2 examples, 0 failures, 1 pending

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

F*

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) should be skipped
     # No reason given
     # ./spec.rb:7


Failures:

  1) should pass FIXED
     Expected pending 'No reason given' to fail. No error was raised.
     # ./spec.rb:4

Finished in 0.00124 seconds (files took 0.06776 seconds to load)
2 examples, 1 failure, 1 pending

Failed examples:

rspec ./spec.rb:4 # should pass

рдФрд░ рдЬрд╛рдирдХрд╛рд░реА

рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдареАрдХ рд╣реИ рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдерд▓рдЧ рдЙрджрд╛рд╣рд░рдг рд╕рдореВрд╣ рд╣реИрдВ:

describe do
  it 'should pass' do
    RSpec.describe do
      it('passes') { }
    end.run

    RSpec.describe do
      before(:all) { skip }
      it('should be skipped') { }
    end.run
  end
end
..*

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) should be skipped
     # No reason given
     # ./spec.rb:11


Finished in 0.00145 seconds (files took 0.0682 seconds to load)
3 examples, 0 failures, 1 pending

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

рдЖрд╣, рдзрдиреНрдпрд╡рд╛рдж @JonRowe! рдпрд╣ RSpec рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмрд╛рддреЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рд╛ рдЙрддреНрддреАрд░реНрдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣рд╛ред рдмрд╛рдХреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ред

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

:wave: рдпрджрд┐ рдЖрдк rspec-core рд╕реНрдкреЗрдХреНрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╣рдореЗрдВ rspec рдХреЗ рднреАрддрд░ рд╕реНрдкреЗрдХреНрд╕ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЕрд▓рдЧрд╛рд╡ (рд░реЗрдд рдмреЙрдХреНрд╕рд┐рдВрдЧ) рджреЗрдЦреЗрдВрдЧреЗ, рдпрд╣ рдПрдХ "рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ" рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмрд╛рд╣рд░реА рдЖрд░рдПрд╕рдкреАрдИрд╕реА рд╕реЗ "рдЖрдВрддрд░рд┐рдХ рдЖрд░рдПрд╕рдкреАрдИрд╕реА" рдХрд╛рдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕реЗ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЖрдкрдХреЗ рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 1 рд╕реНрдкреЗрдХ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП ...

рдХреНрдпрд╛ рдореИрдВ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╣реБрдХ рд╕реЗ рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рд╕реЗ рдЫрджреНрдо рдХреЛрдбрд┐рдд рд╣реИ?

@JonRowe рд╣рдо RSpec рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХреБрдЫ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЖрдк рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24942#note_14063760

рд╣рд╛рдБ, рдпрд╣ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд╛ рдиреНрдпреВрдирддрдо рдкреБрдирд░реБрддреНрдкрд╛рджрди рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ @godfat рдиреЗ рдиреЛрдЯ рдХрд┐рдпрд╛ рд╣реИред

рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рд╣рдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рддрдм рддрдХ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рди рдХрд┐рдпрд╛ рдЬрд╛рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ --tag skip рдХреЗ рд╕рд╛рде rspec рдЪрд▓рд╛рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЫреЛрдбрд╝реЗ рдЧрдП рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдЧрд╛)ред рд╣рдордиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реБрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ рдпрджрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ :quarantine рд╣реИ, рдЬрдм рддрдХ рдХрд┐ :quarantine рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝реЗрдЧрд╛ред

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

рдареАрдХ рд╣реИ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯрд░ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ run рдкрд░ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЖрдВрддрд░рд┐рдХ рд╕рдореВрд╣реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рди рд╣реЛред рдлрд┐рд░ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ / рдЕрд╕рдлрд▓ рд╕рдореВрд╣реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдлрд┐рд░ рдЖрдк RSpec::Core::Sandbox.sandboxed рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдмрд╛рд╣рд░реА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд▓рдкреЗрдЯреЗрдВред

рдЖрдк рдЗрд╕рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣рдорд╛рд░реЗ spec/spec_helper.rb рдФрд░ spec/support/sandboxing.rb рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрд╣, рдзрдиреНрдпрд╡рд╛рдж @JonRowe! рдпрд╣ RSpec рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмрд╛рддреЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рд╛ рдЙрддреНрддреАрд░реНрдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣рд╛ред рдмрд╛рдХреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ред

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

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

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

Drenmi picture Drenmi  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

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