运行Rspec时"没有这样的文件加载"错误

Eth*_*han 11 ruby testing rspec ruby-on-rails

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]
Run Code Online (Sandbox Code Playgroud)

创建了一个新项目......

$ rails myproject
Run Code Online (Sandbox Code Playgroud)

将rspec安装到项目中......

$ script/generate rspec
Run Code Online (Sandbox Code Playgroud)

生成资源......

$ script/generate rspec_scaffold myresource name:string description:text
Run Code Online (Sandbox Code Playgroud)

试图运行规格......

$ rake spec
Run Code Online (Sandbox Code Playgroud)

得到此错误:

/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
Run Code Online (Sandbox Code Playgroud)

的确,没有这样的档案......

供应商/发电机,ls:

rspec_controller        rspec_model
Run Code Online (Sandbox Code Playgroud)

bon*_*iii 27

对于rails3

获取列表

$ rails generate 
Run Code Online (Sandbox Code Playgroud)

生成spec_helper.rb

$ rails g rspec:install
Run Code Online (Sandbox Code Playgroud)


Mih*_*i A 9

它似乎对我有用.我已经安装了rspec-rails,运行了rspec生成器,当我给出时

$ script/generate
Run Code Online (Sandbox Code Playgroud)

我得到了生成器列表:

已安装的生成器Rubygems:rspec,rspec_controller,rspec_model,rspec_scaffold内置:控制器,integration_test,邮件程序,迁移,模型,观察者,performance_test,插件,资源,脚手架,session_migration

rspec_scaffold生成脚手架后,规格通过.您的rails项目中的供应商/生成器是项目吗?我认为你应该删除它们并使用gems中的生成器.

  • 它解决了我无论如何都遇到的问题.出于某种原因,我刚刚开始的项目中没有安装rspec.卫生署!所以,谢谢+1 (2认同)