Ruby on rails 使用rspec时获取错误

Ruby on rails 使用rspec时获取错误,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,我正在做一个关于rspec的教程,每当我试图通过终端执行rake测试或手动运行rspec时,总是会出错。以下是我得到的: mes-mbp:00_hello Me$ ls hello.rb hello_spec.rb index.html mes-mbp:00_hello Me$ rspec 00_hello/hello_spec.rb /Users/Me/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_req

我正在做一个关于rspec的教程,每当我试图通过终端执行rake测试或手动运行rspec时,总是会出错。以下是我得到的:

mes-mbp:00_hello Me$ ls
hello.rb    hello_spec.rb   index.html
mes-mbp:00_hello Me$ rspec 00_hello/hello_spec.rb
/Users/Me/.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 /Users/Me/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1181:in `block in requires='
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1181:in `each'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1181:in `requires='
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:110:in `block in process_options_into'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:109:in `each'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:109:in `process_options_into'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:22:in `configure'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:96:in `setup'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:85:in `run'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:70:in `run'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:38:in `invoke'
    from /Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/exe/rspec:4:in `<top (required)>'
    from /Users/Me/.rvm/gems/ruby-2.2.0/bin/rspec:23:in `load'
    from /Users/Me/.rvm/gems/ruby-2.2.0/bin/rspec:23:in `<main>'
    from /Users/Me/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `eval'
    from /Users/Me/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `<main>'
mes mbp:00\u你好我$ls
hello.rb hello_spec.rb index.html
mes mbp:00_hello Me$rspec 00_hello/hello_spec.rb
/Users/Me/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:“require”中:无法加载这样的文件--spec\u helper(LoadError)
来自/Users/Me/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
from/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1181:in`block in requires='1
from/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1181:in'each'
from/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1181:in`requires='10
来自/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration\u options.rb:110:“进程中的块选项”中
from/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:109:in'each'
来自/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration\u options.rb:109:“进程中的选项”
来自/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:22:in“configure”
来自/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:96:在“设置”中
from/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:85:in'run'
from/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:70:in'run'
from/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:38:in'invoke'
来自/Users/Me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.3/exe/rspec:4:in`'
from/Users/Me/.rvm/gems/ruby-2.2.0/bin/rspec:23:in'load'
from/Users/Me/.rvm/gems/ruby-2.2.0/bin/rspec:23:in`'
from/Users/Me/.rvm/gems/ruby-2.2.0/bin/ruby\u executable\u hooks:15:in'eval'
来自/Users/Me/.rvm/gems/ruby-2.2.0/bin/ruby\u可执行文件\u hooks:15:in`'
谁能告诉我我做错了什么

编辑:有关我按要求所做工作的更多信息:
我跟随教程。在上面的代码中,我尝试在hello_spec.rb文件中的hello.rb文件上运行测试,该文件中包含“require hello”代码

您给RSpec的spec文件路径错误

当前工作目录是
00\u hello

mes-mbp:00_hello Me$ rspec 00_hello/hello_spec.rb
将导致RSpec查找
00\u hello\00\u hello\hello\u spec.rb

如果运行了
rspec--init
可能有一个
.rspec
文件,如果该文件包含以下行,则需要
spec\u helper.rb

--require spec_helper
编写规范时最常见的做法是将规范放置在名为
spec
的目录中。这样,您就可以按运行所有项目规范

 $ rspec specs
补充: 这是gems和其他ruby项目非常常见的结构:

lib/
   hello.rb
spec/
   spec_helper.rb
   hello_spec.rb
它非常常见,RSpec会自动将
/lib
/spec
目录添加到加载路径

因此,您可以:

# spec/hello_spec.rb
require 'spec_helper'
require 'lib/hello' # instead of a relative path! Wehoo.

RSpec.describe Hello do
  # ...
end

你能发布一些关于你正在做什么的更多信息吗?
touch spec\u helper.rb
我根本看不到
spec\u helper
文件。这看起来甚至不像rails应用程序。也许是西纳特拉?您还需要在项目的根目录下运行
rspec--init
。这将创建类似于
spec\u helper
的文件。更多信息。那些教程已经非常过时了-我推荐类似的东西。您肯定不想开始使用RSpec2,然后必须学习新的RSpec3语法。