Ruby RSpec нет такого файла для загрузки Ошибка

Я борюсь с RSpec, я просто не могу заставить RSpec работать в моем проекте Ruby. Даже в простом примере, приведенном в разделе «Начать сейчас» на официальной домашней странице RSpec: http://rspec.info/

Итак, я беру код из официального примера и создаю Bowling.rb и Bowling_spec.rb. Когда я пытаюсь запустить rspec из консоли с помощью:

rspec bowling_spec.rb --format nested

Я получаю этот вывод:

require': no such file to load -- bowling (LoadError)
from C:/.../Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/.../bowling_spec.rb:2:in `<top (required)>'
from C:/.../Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load'
from C:/.../Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `block in load_spec_files'
from C:/.../Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `map'
from C:/.../Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load_spec_files'
from C:/.../Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.6.4/lib/rspec/core/command_line.rb:18:in `run'
from C:/.../Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:80:in `run_in_process'
from C:/.../Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:69:in `run'
from C:/.../Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:11:in `block in autorun'

Я пытался запустить RSpec в своем собственном проекте с Netbans 7.0.1, а также с Aptanda Studio 3. Я всегда получаю одну и ту же ошибку. Список драгоценных камней показывает следующие драгоценные камни rspec:

  • rspec (2.6.0)
  • rspec-ядро (2.6.4)
  • rspec-ожидания (2.6.0)
  • rspec-моки (2.6.0)
  • rspec-рельсы (2.6.1)
  • rspec-rails-контроллер (0.1.2)

Может ли кто-нибудь помочь мне с этим?


person gaussd    schedule 15.10.2011    source источник
comment
Решил это при работе с командной строкой. Вы должны поместить bowling_spec.rb в spec/bowling_spec.rb, а bowling.rb в lib/bowling.rb, чтобы все заработало. Однако для Netbeans и Aptana я все еще получаю ту же ошибку.   -  person gaussd    schedule 16.10.2011
comment
Вы используете require 'bowling' (или require 'bowling.rb') для загрузки файла? Если это так, вы можете использовать require './path/to/bowling.rb' или добавить каталог lib в путь загрузки.   -  person Frost    schedule 16.10.2011
comment
Вам редко нужно требовать .rb напрямую. И если вы это делаете, вы, вероятно, должны знать, почему вы это делаете.   -  person d11wtq    schedule 16.10.2011


Ответы (2)


Решение для того, чтобы заставить его работать в Netbeans, также заключается в том, чтобы вручную установить Rspec, поскольку Netbeans не поддерживает RSpec версии 2:

gem install rspec -v 1.3.2
person gaussd    schedule 22.10.2011

Для потомков у меня тоже была эта проблема, и проблема заключалась в том, что я случайно require отредактировал spec_helper.rb в неспециализированном классе в драгоценном камне. Это было забавно найти.

person davetron5000    schedule 10.04.2013