ruby-on-rails rspec guard

ruby on rails - Error al ejecutar el proceso Guard: no se puede encontrar el método de singularización



ruby-on-rails rspec (1)

De hecho, en el tutorial Rails que están agregando require ''active_support/core_ext'' en la parte superior del archivo Guardfile.

Creo que esto podría solucionar tu problema.

También asegúrese de declarar el protector de spork antes del protector de rspec.

Seguí el Tutorial de Rails sobre la configuración de pruebas automáticas con Guard y Spork . De vez en cuando, especialmente cuando guardo una plantilla sin editar en mi editor , Guard se quejará ( traza inversa completa ):

ERROR: Problem with watch action! undefined method `singularize'' for "layouts":String

Mi Guardfile:

# A sample Guardfile # More info at https://github.com/guard/guard#readme guard ''rspec'', :version => 2, :all_after_pass => false, :cli => ''--drb'' do watch(%r{^spec/.+_spec/.rb$}) watch(%r{^lib/(.+)/.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" } watch(''spec/spec_helper.rb'') { "spec" } # Rails example watch(%r{^spec/.+_spec/.rb$}) watch(%r{^app/(.+)/.rb$}) { |m| "spec/#{m[1]}_spec.rb" } watch(%r{^app/(.*)(/.erb|/.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } watch(%r{^lib/(.+)/.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" } watch(%r{^app/controllers/(.+)_(controller)/.rb$}) do |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb", "spec/requests/#{m[1].singularize}_pages_spec.rb"] ### Look here ### end watch(%r{^app/views/(.+)/}) do |m| "spec/requests/#{m[1].singularize}_pages_spec.rb" ### Look here ### end watch(%r{^spec/support/(.+)/.rb$}) { "spec" } watch(''spec/spec_helper.rb'') { "spec" } watch(''config/routes.rb'') { "spec/routing" } watch(''app/controllers/application_controller.rb'') { "spec/controllers" } # Capybara request specs watch(%r{^app/views/(.+)/.*/.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" } end guard ''spork'', :rspec_env => { ''RAILS_ENV'' => ''test'' } do watch(''config/application.rb'') watch(''config/environment.rb'') watch(%r{^config/environments/.+/.rb$}) watch(%r{^config/initializers/.+/.rb$}) watch(''Gemfile'') watch(''Gemfile.lock'') watch(''spec/spec_helper.rb'') watch(''test/test_helper.rb'') end

Guard no se queja si reinicio, pero reiniciar es un poco molesto; sin duda, no es tan molesto como ejecutar rspec cada vez que quiero una prueba.

  • .autotest la sugerencia en esta publicación , pero creo que .autotest puede ser el archivo incorrecto para guardian, ya que esto no soluciona el problema.
  • El único error similar que encontré con Google no parece estar relacionado.