web-dev-qa-db-ja.com

`require ':そのようなファイルをロードできません--spec_helper(LoadError)

私は作成しています

bundler gem --test=rspec MyGem.

リポジトリ構造を取得しています。

rspecコードを実行しようとすると、次のエラーが発生します。

 `require': cannot load such file -- spec_helper (LoadError)

次に、require relatedを適用しようとしましたが、それでもエラーが発生します。

sheetal@ubuntu:~/sheetal/spec$ rspec sheetal_spec.rb 
\/home/sheetal/.rvm/rubies/Ruby-2.2.0/lib/Ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- spec_helper (LoadError)
    from /home/sheetal/.rvm/rubies/Ruby-2.2.0/lib/Ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/sheetal/sheetal/spec/sheetal_spec.rb:1:in `<top (required)>'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `load'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `block in load_spec_files'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `each'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `load_spec_files'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:96:in `setup'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:84:in `run'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/gems/rspec-core-3.1.7/exe/rspec:4:in `<top (required)>'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/bin/rspec:23:in `load'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/bin/rspec:23:in `<main>'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/bin/Ruby_executable_hooks:15:in `eval'
    from /home/sheetal/.rvm/gems/Ruby-2.2.0/bin/Ruby_executable_hooks:15:in `<main>'
9
user4443990

specフォルダーから仕様を実行しています。これはロードパスを台無しにします。プロジェクトのルートからスペックを実行します:~/sheetal

rspec spec/sheetal_spec.rb

Rspecはspecフォルダーとlibフォルダーをロードパスに自動的に追加します。すでにspecフォルダーにいる場合、rspecは代わりにspec/specをロードパスに追加します。

libフォルダーにコードがあるとすると、specフォルダーでテストを実行する場合は、ロードパスに.../libの両方を追加する必要があります。

22
Jesper