2016-04-04 2 views
1

Я использую Services в своем приложении, которое не является одним из стандартных компонентов приложения.Включите помощники I18n в Rspec. Тесты для служб.

Скажем, у меня есть тест спецификации следующего

требует «rails_helper»

# spec/services/create_user.rb 
RSpec.describe CreateUser, type: :service do 
    it "returns the error message" do 
    error_message = Foo.new.errors 
    expect(error_message).to eq(t("foo.errors.message")) 
    end 

конца

Просто проверяет, что возвращаемая строка соответствует определенной строке перевода.

Однако это вызывает ошибку, поскольку помощник t() недоступен.

Я мог бы ссылаться на него явно как I18n.t(), но для моего собственного любопытства, как включить правильный модуль, чтобы иметь роскошь вызова сокращенной формы?

Спасибо!

ответ

4

Вы должны иметь возможность добавить его в конфигурацию RSpec, используя;

RSpec.configure do |config| 
    config.include AbstractController::Translation 
end 

Это значит, вы можете просто использовать t() вместо I18n.t()

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