私は作成しています
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>'
spec
フォルダーから仕様を実行しています。これはロードパスを台無しにします。プロジェクトのルートからスペックを実行します:~/sheetal
。
rspec spec/sheetal_spec.rb
Rspecはspec
フォルダーとlib
フォルダーをロードパスに自動的に追加します。すでにspec
フォルダーにいる場合、rspecは代わりにspec/spec
をロードパスに追加します。
lib
フォルダーにコードがあるとすると、spec
フォルダーでテストを実行する場合は、ロードパスに.
と../lib
の両方を追加する必要があります。