Rspec 测试加载错误:无法加载此类文件 -- spec_helper (LoadError)

Eth*_*son 5 ruby rspec ruby-on-rails ruby-on-rails-3

我正在关注 RSpec 测试的一章,但我不断收到load error.

它告诉我首先创建一个新分支,然后创建两个新目录:ModelsSpec. 在这些目录中,我应该制作两个文件;models/entry.rbspec/entry_spec.rb。在 中spec/entry_spec.rb,我应该输入以下代码:

require_relative '../models/entry'


RSpec.describe Entry do

end
Run Code Online (Sandbox Code Playgroud)

然后在我的models/entry.rb我应该把这个代码:

class Entry

end
Run Code Online (Sandbox Code Playgroud)

然后我应该运行这个终端命令:

$ rspec spec/entry_spec.rb
Run Code Online (Sandbox Code Playgroud)

并得到这个结果:

No examples found.

Finished in 0.00015 seconds (files took 0.1186 seconds to load)
0 examples, 0 failures
Run Code Online (Sandbox Code Playgroud)

但是我总是收到这个加载错误,我不知道这是什么意思

/Users/ethanfranson/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- spec_helper (LoadError)
    from /Users/ethanfranson/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/configuration.rb:1295:in `block in requires='
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/configuration.rb:1295:in `each'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/configuration.rb:1295:in `requires='
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/configuration_options.rb:109:in `block in process_options_into'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/configuration_options.rb:108:in `each'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/configuration_options.rb:108:in `process_options_into'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/configuration_options.rb:21:in `configure'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/runner.rb:105:in `setup'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/runner.rb:92:in `run'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/runner.rb:78:in `run'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/lib/rspec/core/runner.rb:45:in `invoke'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.4.2/exe/rspec:4:in `<top (required)>'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/bin/rspec:23:in `load'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/bin/rspec:23:in `<main>'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
    from /Users/ethanfranson/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'
Run Code Online (Sandbox Code Playgroud)

如果有人愿意花时间帮助我解决我可能做错的事情,我将不胜感激。对不起,冗长的问题!

har*_*s08 4

rspec spec/entry_spec.rb仔细检查您是否从应用程序目录的根目录运行,而不是从spec目录内运行。

Rspecspec自动添加到加载路径。如果您已经在spec目录中,rspec则将添加spec/spec到加载路径。