Rspec-core: рдЖрд░рдПрд╕рдкреАрд╕реА :: рдЙрджрд╛рд╣рд░рдг рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рдзрд┐ 'рдирд┐рдпрдВрддреНрд░рдХ'

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдордИ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: rspec/rspec-core

rspec-rails (3.0.0.beta2) рд╕реЗ rspec-rails (3.0.0.rc1) рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдХрд▓реНрдкрдирд╛

require 'spec_helper'
describe ApplicationController do
  controller do
    def index
      render :text => 'Ok'
    end

    def show
      raise TypeError, 'Any fake value!'
    end
  end

  it "redirects to new_sessions_path" do
    get :index
    expect(response).to redirect_to(new_session_path)
  end
end

рддреНрд░реБрдЯрд┐

spec/controllers/application_controller_spec.rb:5:in `block (2 levels) in <top (required)>': undefined method `controller' for #<Class:0x007fed8fe69180> (NoMethodError)
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/example_group.rb:331:in `module_exec'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/example_group.rb:331:in `subclass'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/example_group.rb:227:in `block in define_example_group_method'
    from /Users/ankitgupta/Documents/projects/work/my-development/spec/controllers/application_controller_spec.rb:4:in `block in <top (required)>'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/example_group.rb:331:in `module_exec'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/example_group.rb:331:in `subclass'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/example_group.rb:227:in `block in define_example_group_method'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/dsl.rb:41:in `block in expose_example_group_alias'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/dsl.rb:79:in `block (2 levels) in expose_example_group_alias_globally'
    from /Users/ankitgupta/Documents/projects/work/my-development/spec/controllers/application_controller_spec.rb:3:in `<top (required)>'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/configuration.rb:1051:in `load'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/configuration.rb:1051:in `block in load_spec_files'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/configuration.rb:1051:in `each'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/configuration.rb:1051:in `load_spec_files'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/runner.rb:97:in `setup'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/runner.rb:85:in `run'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/runner.rb:70:in `run'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/lib/rspec/core/runner.rb:38:in `invoke'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/gems/rspec-core-3.0.0.rc1/exe/rspec:4:in `<top (required)>'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/bin/rspec:23:in `load'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/bin/rspec:23:in `<main>'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
    from /Users/ankitgupta/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'

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

rspec-rails 2.x рдореЗрдВ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рдирд┐рд╣рд┐рдд ("рдЬрд╛рджреБрдИ", рдХреБрдЫ рдХреЗ рд▓рд┐рдП) рд╡реНрдпрд╡рд╣рд╛рд░ рдерд╛ рдЬрд╣рд╛рдВ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдЧрд╛ред RSpec 3 рдореЗрдВ (RC1 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ) рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдСрдкреНрдЯ-рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕реНрд╡рдпрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

describe ApplicationController, :type => :controller do
end

# or

RSpec.configure do |config|
  config.infer_spec_type_from_file_location!
end

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП rspec/rspec-rails#970 рджреЗрдЦреЗрдВред

2.14 -> 2.99 -> 3.0 рдЕрдкрдЧреНрд░реЗрдб рдкрде рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ 3.0 рдмреАрдЯрд╛ 2 -> 3.0 рдЖрд░рд╕реА 1 рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд░рдирд╛!

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

rspec-rails 2.x рдореЗрдВ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рдирд┐рд╣рд┐рдд ("рдЬрд╛рджреБрдИ", рдХреБрдЫ рдХреЗ рд▓рд┐рдП) рд╡реНрдпрд╡рд╣рд╛рд░ рдерд╛ рдЬрд╣рд╛рдВ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдЧрд╛ред RSpec 3 рдореЗрдВ (RC1 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ) рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдСрдкреНрдЯ-рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕реНрд╡рдпрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

describe ApplicationController, :type => :controller do
end

# or

RSpec.configure do |config|
  config.infer_spec_type_from_file_location!
end

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП rspec/rspec-rails#970 рджреЗрдЦреЗрдВред

2.14 -> 2.99 -> 3.0 рдЕрдкрдЧреНрд░реЗрдб рдкрде рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ 3.0 рдмреАрдЯрд╛ 2 -> 3.0 рдЖрд░рд╕реА 1 рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд░рдирд╛!

@myronmarston рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! :+1:

@myronmarston рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдерд╛ред рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

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

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

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

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

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

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

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