web-dev-qa-db-ja.com

「必要」:ロードするファイルはありません-spec_helper

Ruby on Railsチュートリアルセクションで、jruby 1.6を使用するWindowsプラットフォームでrspecを使用する場合、このエラーに遭遇しました:

c:\Rails_projects\sample_app>bundle exec rspec spec/
org/jruby/RubyKernel.Java:1038:in `require': no such file to load -- spec_helper
 (LoadError)
        from c:/Rails_projects/sample_app/spec/controllers/pages_controller_spec    .rb:1:in `(root)'
        from org/jruby/RubyKernel.Java:1063:in `load'
        from c:/Rails_projects/sample_app/spec/controllers/pages_controller_spec
.rb:386:in `load_spec_files'
        from org/jruby/RubyArray.Java:2458:in `collect'
        from c:/jruby-1.6.0.RC2/lib/Ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspe
c/core/configuration.rb:386:in `load_spec_files'
        from c:/jruby-1.6.0.RC2/lib/Ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspe
c/core/command_line.rb:18:in `run'
        from c:/jruby-1.6.0.RC2/lib/Ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspe
c/core/runner.rb:55:in `run_in_process'
        from c:/jruby-1.6.0.RC2/lib/Ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspe
c/core/runner.rb:46:in `run'
        from c:/jruby-1.6.0.RC2/lib/Ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspe
c/core/runner.rb:10:in `autorun'
        from org/jruby/RubyProc.Java:268:in `call'
        from org/jruby/RubyProc.Java:232:in `call'

チュートリアルから欠落しているように見える答えが見つかりました:

c:\ Rails_projects\sample_app> Railsはrspec:installを生成します

32
MBDJ

実行した後

Rails generate rspec:install

*_spec.rbファイル(例では)c:\Rails_projects\sample_app\spec\model。次にrequire_relativeで相対パスを指定します

require_relative '../spec_helper'
55
GregC

次のコマンドを実行します

c:\Rails_projects\sample_app>Rails generate rspec:install

これはspec_helper.rbファイルを/specディレクトリ

12
MBDJ

'Rails generate rspec:install'を実行するときに'Could not find generator rspec:install'エラーメッセージが表示された場合は、プロジェクト内の'rspec-Rails':developnentグループ内にgem :testを追加してくださいGemfile as下に示された。

group :development, :test do
  gem 'rspec-Rails'
end

この後、'bundle install'を実行して'Rails generate rspec:install'に進みます。

これはある程度役立つかもしれません-rpsecがWin7環境に適切にインストールされなかった場合。

Rails3 rspecの問題

0
DJSam

私は同じ問題を抱えていましたが、別の理由で:

私のspork.prefork内のブロックspec_helper.rbファイルこの行がありました

Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

しかし、上記で必要とされていたファイル(spec/support/some_helper_file.rb) でした require 'spec_helper'呼び出し

この不要なものを削除すると、問題が解決します

0
ryan2johnson9