Проблема с использованием команды require - PullRequest
0 голосов
/ 08 февраля 2011

Мне просто нужен файл, присутствующий в той же папке, что и тестовый файл, однако я получаю это странное сообщение снова и снова ...

<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- a.rb (LoadError)
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from C:/dummyFirefox/test_a.rb:1:in `<top (required)>'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `block in load_spec_files'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `map'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load_spec_files'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:18:in `run'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:55:in `run_in_process'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:46:in `run'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:10:in `block in autorun'

код, который я пишу в своем тестовом файле test_a.rbпросто:

require 'a.rb'

, и когда я запускаю команду: rspec test_a.rb сообщение является вышеупомянутой ошибкой.

Я использую ruby-1.9.2 для разработки.

Надеюсь, я не пропущу ни одной детали.Заранее спасибо.

1 Ответ

3 голосов
/ 08 февраля 2011

В Ruby 1.9.2 текущий рабочий каталог больше не является частью пути загрузки ($LOAD_PATH или $:).Вы должны добавить его вручную, используя:

$LOAD_PATH.unshift '.'

или

$:.unshift '.'

Или вы можете явно указать файл:

require './test_a.rb'
...