2017-01-06 17 views
0

В Rails :: Application, добавить пользовательскую конфигурацию, используя ...Мок Rails 4 приложения конфигурации пользовательских значение

config.x.cache_config = config_for(:cache) 

В моих тестах, я хочу видеть, как код с помощью этого ведет себя в зависимости от того, как конфигурация определяется в cache.yml. Чтобы установить различные условия в моих тестах rspec, я хочу сделать что-то вроде ...

allow(Rails.application.config.x).to recieve(:cache_config).and_return({}) 

Но это не работает. Он получает сообщение об ошибке

#<Rails::Application::Configuration::Custom ... > does not implement: cache_config 

ответ

0

После долгих копаний и испытаний в поддонах я понял это.

Короткий ответ:

allow(Rails.application.config.x).to receive(:method_missing).with(:cache_config).and_return({}) 

Все в этом заявлении должен быть точным, за исключением ...

  • заменить : cache_config с именем пользовательской конфигурации ключа
  • заменить {} в and_return ({}) с макетом значение, которое вы хотите установить для ключа

Longer ответ:

Если вы хотите, чтобы вырыть в то, почему это, так как это не совсем очевидно, проверить код на ...

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

  • Нет связанных вопросов^_^