Ваш файл спецификации должен быть в
spec/services/distamce/whatever_class_spec.rb
.
В вашем случае rspec пытается найти модуль WheverModule из-за /whatever_module/
в вашем пути к файлу спецификации. Вы можете попробовать изменить это значение на spec/services/foo_bar/whatever_class_spec.rb
, и вы получите отсутствующую ошибку FooBarModule.
Кажется, я понял, что ты пропустил.
Rspec не требует автоматически папку вашего приложения, поэтому изначально нет доступных модулей или классов из папки приложения.
Когда вы проверяете https://github.com/rspec/rspec-rails#installation @ 2, вы видите, что вам нужно добавить несколько шаблонных файлов для rspec, таких как rails_helper.rb
и spec_helper.rb
с rails generate rspec:install
. Они отвечают за все настройки, связанные с rspec, и за требование к папке приложения.
Также необходимо добавить require 'rails_helper'
поверх каждого файла спецификации.
После того, как вы сделали все это и получили ошибку Unable to autoload constant WhateverModule::WhateverClass
, тогда ваш whatever_class.rb
должен выглядеть следующим образом
module WhateverModule
class WhateverClass
end
end
Или вы определяете модуль в файле, кроме папки whatever_module
.