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を生成します
実行した後
Rails generate rspec:install
*_spec.rb
ファイル(例では)c:\Rails_projects\sample_app\spec\model
。次にrequire_relativeで相対パスを指定します
require_relative '../spec_helper'
次のコマンドを実行します
c:\Rails_projects\sample_app>Rails generate rspec:install
これはspec_helper.rb
ファイルを/spec
ディレクトリ
'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環境に適切にインストールされなかった場合。
私は同じ問題を抱えていましたが、別の理由で:
私の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'
呼び出し
この不要なものを削除すると、問題が解決します