Domanda

Mac OS 10.4
rspec (1.1.11, 1.1.4, 1.1.3, 0.5.15)
rspec-rails (1.1.11)
rspec_generator (0.5.15)
rails 2.2.2
ruby 1.8.6 (2007-03-13 patchlevel 0) [universal-darwin8.0]

Creato un nuovo progetto ...

$ rails myproject

rspec installato nel progetto ...

$ script/generate rspec

Generata una risorsa ...

$ script/generate rspec_scaffold myresource name:string description:text

Ho provato a eseguire le specifiche ...

$ rake spec

Ho ricevuto questo errore:

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- ./spec/models/../../vendor/generators/rspec/lib/rspec_on_rails (MissingSourceFile)
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:155:in `require'
        from ./spec/models/../spec_helper.rb:3
        from ./spec/models/entry_spec.rb:1:in `require'
        from ./spec/models/entry_spec.rb:1
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb:14:in `load'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb:14:in `load_files'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb:13:in `each'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb:13:in `load_files'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/options.rb:98:in `run_examples'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/command_line.rb:10:in `run'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/bin/spec:4
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- /Users/ethan/project/project/spec/../vendor/generators/rspec/lib/rspec_on_rails (MissingSourceFile)
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:155:in `require'
        from /Users/ethan/project/project/spec/spec_helper.rb:3
            from ./spec/controllers/entries_controller_spec.rb:1:in `require'
        from ./spec/controllers/entries_controller_spec.rb:1
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb:14:in `load'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb:14:in `load_files'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb:13:in `each'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb:13:in `load_files'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/options.rb:98:in `run_examples'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/lib/spec/runner/command_line.rb:10:in `run'
        from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.11/bin/spec:4

In effetti, non esiste un file simile ...

fornitore / generatori, ls:

rspec_controller        rspec_model
È stato utile?

Soluzione

Sembra funzionare per me. Ho installato rspec-rails , ho eseguito il generatore rspec e quando lo do

$ script/generate

Ottengo l'elenco dei generatori:

  

Generatori installati     Rubygems: rspec, rspec_controller, rspec_model, rspec_scaffold     Builtin: controller, integration_test, mailer, migrazione, modello, osservatore, performance_test, plugin, risorsa, scaffold, session_migration

Dopo aver generato lo scaffold con rspec_scaffold le specifiche passano. I fornitori / generatori sono nel tuo progetto di binari? Penso che dovresti eliminarli e utilizzare invece i generatori dalle gemme.

Altri suggerimenti

Per rails3

Per ottenere l'elenco

$ rails generate 

Per generare spec_helper.rb

$ rails g rspec:install
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top