Rubymine Rspec Отладка: неинициализированная константа x (NameError)

Я часто использую Rubymine для отладки моих тестов rspec. Недавно я обновился до Rubymine 7.0.2 (сборка RM-139.800) и получаю сообщение об ошибке при попытке отладки любого теста rspec. Я попытался откатиться до Rubymine 6.3, и проблема не устранена. Изменение в моей среде вызвало проблему, но я не знаю, что это за изменение.

Ошибка заключается в следующем:

Fast Debugger (ruby-debug-ide 0.4.24, debase 0.1.1) listens on 127.0.0.1:49882
/Users/rubyminepain/code/websites/somerepo/spec/lib/bots_spec.rb:1:in `<top (required)>': uninitialized constant Bots (NameError)
from /Users/rubyminepain/.rvm/gems/ruby-2.1.2/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `load'
from /Users/rubyminepain/.rvm/gems/ruby-2.1.2/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `block in load_spec_files'
from /Users/rubyminepain/.rvm/gems/ruby-2.1.2/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `each'
from /Users/rubyminepain/.rvm/gems/ruby-2.1.2/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `load_spec_files'
from /Users/rubyminepain/.rvm/gems/ruby-2.1.2/gems/rspec-core-2.14.8/lib/rspec/core/command_line.rb:22:in `run'
from /Users/rubyminepain/.rvm/gems/ruby-2.1.2/gems/rspec-core-2.14.8/lib/rspec/core/runner.rb:80:in `run'
from /Users/rubyminepain/.rvm/gems/ruby-2.1.2/gems/rspec-core-2.14.8/lib/rspec/core/runner.rb:17:in `block in autorun'

Я использую rspec-rails (2.14.2) rspec-core (2.14.8) с ruby-debug-ide (0.4.24) и debase (0.1.1).

Если я запускаю спецификацию из терминала, например, rspec spec/lib/bots_spec.rb, она работает нормально. Только когда я пытаюсь "Отладить запустить спецификацию 'bots_spec'" в Rubymine, возникает ошибка.

Я пытался использовать более старые версии драгоценных камней, перечисленных выше, но все еще возникают проблемы. Любые предложения приветствуются.

Обновить:

Добавление require_relative '../spec_helper' к началу спецификации исправляет проблему. Файл конфигурации.rspec уже содержит --require spec_helper, Помощник по спецификациям находится в стандартном каталоге. Смущен тем, почему этот require_relative необходим. Другие проекты Rails, которые я использую rspec, не нуждаются в этом. Обязательный родственник обсуждается здесь /questions/45703430/ruby-debug-net-takogo-fajla-dlya-zagruzki-spechelper/45703457#45703457. На самом деле я не хочу добавлять require_relative ко всем моим спецификациям, поэтому все еще пытаюсь понять, почему это требуется.

1 ответ

Вероятно, это просто проблема с именами, проверьте первую строку в файле, упомянутом в журнале ошибок bots_spec.rb и заменить константу Bots с единственным именем Bot
Названия моделей всегда должны называться в единственном числе

Другие вопросы по тегам