2015-10-26 4 views
-1

Я создал свою собственную услугу (которая является обычным старинным объектом Ruby) в app/services/nested/auth_service.rb. Конечно, я решил написать тесты для нее, так что я создал файл в RSpec под spec/services/nested/auth_service_spec.rb и написал внутри:RSpec не видит классы из каталога/custom rails

require 'spec_helper' 

RSpec.describe Nested::Auth do 
end 

Я добавил spec_helper, потому что Nested::Auth просто PORO без каких-либо рельсов вещи внутри (так rails_helper будет излишним здесь, справа)

к сожалению, во время работы rspec команды я получил ошибку: uninitialized constant Nested::Auth

Я добавил $: << '../app/services' в верхней части spec_helper.rb, но не помогло. $: << '../services' тоже не работает.

Как оплатить spec_helper см. /services directory? Как исправить ошибку uninitialized constant?

ответ

1

Просто следуйте правилам Rails и назовите свои услуги с помощью Service postfix.

Этот способ Nested::AuthService. Прекрасно работает.

1

В вставленном сообщении об ошибке константа с ошибкой «uninitialized constant Nasted :: Auth», где «Nasted» имеет «a» вместо «e». Проверьте какие-либо файлы на наличие орфографических ошибок и исправьте их, если найдете что-нибудь.

+0

Я изменил название класса для целей вопроса и просто сделал глупую опечатку :) Я решил это, добавив сервис в имена классов (см. Ниже) –

Смежные вопросы