rspec ruby-on-rails-3.2 guard spork

variable local indefinida o método `root_path ''(Rspec Spork Guard)



ruby-on-rails-3.2 (1)

Tengo una pregunta para novatos :-)

Estoy "creando" una aplicación, y uso el Tutorial de M. Hartl para hacerlo. Pero tengo algunos problemas desde que decidí cambiar mis rutas.rb. Sé que la pregunta ya ha sido publicada, pero la respuesta no me funciona, así que supongo que debería pedir una nueva ...

Aquí están los códigos:

config / routes.rb

root to: ''static_pages#home'' match ''/help'', to: ''static_pages#help'' match ''/contact'', to: ''static_pages#contact'' match ''/about'', to: ''static_pages#about''

spec / requests / static_pages.rb

require ''spec_helper'' describe "Static pages" do let(:base_title) { "Vidons" } describe "Home page" do visit root_path it "should have the h1 ''Vidons''" do page.should have_selector(''h1'', :text => ''Vidons'') end it "should have the base title" do page.should have_selector(''title'', :text => "#{base_title}") end end describe "Help page" do visit help_path it "should have the h1 ''Aide''" do page.should have_selector(''h1'', :text => ''Aide'') end it "should have the title ''Aide''" do page.should have_selector(''title'', :text => "#{base_title} | Aide") end end describe "About page" do visit about_path it "should have the h1 ''A propos''" do page.should have_selector(''h1'', :text => ''A propos'') end it "should have the title ''A propos''" do page.should have_selector(''title'', :text => "#{base_title} | A propos") end end describe "Contact page" do visit contact_path it "should have the h1 ''Contact''" do page.should have_selector(''h1'', :text => ''Contact'') end it "should have the title ''Contact''" do page.should have_selector(''title'', :text => "#{base_title} | Contact") end end end

spec / spec_helper.rb

(Eliminé uno del bloque Rspec.configure y guardé el que está dentro del bloque prerun de spork)

require ''rubygems'' require ''spork'' #uncomment the following line to use spork with the debugger #require ''spork/ext/ruby-debug'' Spork.prefork do # Loading more in this block will cause your tests to run faster. However, # if you change any configuration or code from libraries loaded here, you''ll # need to restart spork for it take effect. ENV["RAILS_ENV"] ||= ''test'' require File.expand_path("../../config/environment", __FILE__) require ''rspec/rails'' require ''rspec/autorun'' # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories. Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} RSpec.configure do |config| # == Mock Framework # # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line: # # config.mock_with :mocha # config.mock_with :flexmock # config.mock_with :rr config.mock_with :rspec # Remove this line if you''re not using ActiveRecord or ActiveRecord fixtures config.fixture_path = "#{::Rails.root}/spec/fixtures" # If you''re not using ActiveRecord, or you''d prefer not to run each of your # examples within a transaction, remove the following line or assign false # instead of true. config.use_transactional_fixtures = true # If true, the base class of anonymous controllers will be inferred # automatically. This will be the default behavior in future versions of # rspec-rails. config.infer_base_class_for_anonymous_controllers = false end end Spork.each_run do # This code will be run each time you run your specs. end

Y aquí está la respuesta de rspec-guard:

10:07:46 - INFO - ADVERTENCIA DE DEPRESIÓN: La opción: version está en desuso. Solo RSpec 2 ahora es compatible.

10:07:46 - INFO - Guard usa Libnotify para enviar notificaciones.

10:07:46 - INFO - Guard usa TerminalTitle para enviar notificaciones.

10:07:46 - INFO - Iniciando Spork para RSpec

Usando RSpec

Entorno de precarga de rieles

Cargando el bloque Spork.prefork ...

Rack :: El parámetro de encabezados de archivo reemplaza cache_control después de Rack 1.5.

¡Spork está listo y escuchando en 8989!

10:07:53 - INFO - El servidor de Spork para RSpec comenzó con éxito

10:07:53 - INFO - Guardia :: RSpec se está ejecutando

10:07:53 - INFO - Ejecutando todas las especificaciones

Ejecución de pruebas con args ["--drb", "-f", "progress", "-r", "/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/guard-rspec- 2.4.0 / lib / guard / rspec / formatter.rb "," -f "," Guard :: RSpec :: Formatter "," --failure-exit-code "," 2 "," spec "] .. .

Excepción encontrada: #>

retroceso:

/home/flokate/Rubyrails/vidons/spec/requests/static_pages_spec.rb:8:in `block (2 niveles) en ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in `module_eval ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in `subclase ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:230:in `describe ''

/home/flokate/Rubyrails/vidons/spec/requests/static_pages_spec.rb:7:in `block in ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in `module_eval ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in `subclase ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:230:in `describe ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/dsl.rb:18:in `describe ''

/home/flokate/Rubyrails/vidons/spec/requests/static_pages_spec.rb:3:in `''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `block in load ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:236:in `load_dependency ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `block en load_spec_files ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `each ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `load_spec_files ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/command_line.rb:22:in `run ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/test_framework/rspec.rb:11:in `run_tests ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/run_strategy/forking.rb:13:in `block in run ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/forker.rb:21:in `block in initialize ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/forker.rb:18:in `fork ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/forker.rb:18:in `initialize ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/run_strategy/forking.rb:9:in `new ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/run_strategy/forking.rb:9:in `run ''

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/server.rb:48:in `run ''

/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1548:in `perform_without_block ''

/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1508:in `perform ''

/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1586:in `bloque (2 niveles) en main_loop ''

/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1582:in `loop ''

/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1582:in `block en main_loop ''

Hecho.

Debido a la ADVERTENCIA DE DEPRESIÓN, busqué en mi Gemfile, y eliminé el número de la versión, para usar las últimas gemas que me interesan:

group :development, :test do gem ''sqlite3'', ''1.3.5'' gem ''rspec-rails'' gem ''guard-rspec'' gem ''guard-spork'' gem ''spork'' end

Que me dan eso:

Fetching gem metadata from https://rubygems.org/......... Fetching gem metadata from https://rubygems.org/.. Using rake (10.0.3) Using i18n (0.6.1) Using multi_json (1.6.0) Using activesupport (3.2.12) Using builder (3.0.4) Using activemodel (3.2.12) Using erubis (2.7.0) Using journey (1.0.4) Using rack (1.4.5) Using rack-cache (1.2) Using rack-test (0.6.2) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.2.2) Using actionpack (3.2.12) Using mime-types (1.21) Using polyglot (0.3.3) Using treetop (1.4.12) Using mail (2.4.4) Using actionmailer (3.2.12) Using arel (3.0.2) Using tzinfo (0.3.35) Using activerecord (3.2.12) Using activeresource (3.2.12) Using annotate (2.5.0) Using bcrypt-ruby (3.0.1) Using bootstrap-sass (2.1.0.0) Using bundler (1.2.3) Using nokogiri (1.5.6) Using ffi (1.3.1) Using childprocess (0.3.8) Using rubyzip (0.9.9) Using websocket (1.0.7) Using selenium-webdriver (2.29.0) Using xpath (0.1.4) Using capybara (1.1.2) Using coderay (1.0.8) Using coffee-script-source (1.4.0) Using execjs (1.4.0) Using coffee-script (2.2.0) Using rack-ssl (1.3.3) Using json (1.7.7) Using rdoc (3.12.1) Using thor (0.17.0) Using railties (3.2.12) Using coffee-rails (3.2.2) Using diff-lcs (1.1.3) Using factory_girl (4.1.0) Using factory_girl_rails (4.1.0) Using listen (0.7.2) Using lumberjack (1.0.2) Using method_source (0.8.1) Using slop (3.4.3) Using pry (0.9.12) Using terminal-table (1.4.5) Using guard (1.6.2) Using rspec-core (2.12.2) Using rspec-expectations (2.12.1) Using rspec-mocks (2.12.2) Using rspec (2.12.0) Using guard-rspec (2.4.0) Using spork (0.9.2) Using guard-spork (1.4.2) Using jquery-rails (2.0.2) Using libnotify (0.5.9) Using rails (3.2.12) Using rb-inotify (0.8.8) Using rspec-rails (2.12.2) Using sass (3.2.5) Using sass-rails (3.2.5) Using sqlite3 (1.3.5) Using uglifier (1.2.3) Your bundle is updated! Use `bundle show [gemname]` to see where a bundled gem is installed.

Y no cambió nada ... No entiendo mucho en este momento, pero espero que uno de ustedes me traiga la luz ;-)


Solo tiene que visit root_path dentro de un bloque before { visit root_path } : before { visit root_path }