Как смоделировать Rails :: конфигурация - PullRequest
3 голосов
/ 02 сентября 2011

Я пытаюсь протестировать класс, который использует файл конфигурации rails.Я хотел бы посмеяться над Rails :: configuration.

Я пробовал что-то вроде

Rails::singleton_class.expects(:configuration).returns('result')
Rails::singleton_class.stubs(:configuration).returns('result')

Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 02 сентября 2011
Rails.expects(:configuration).returns('result')

Обратите внимание, что в вашем примере была опечатка. Возвращаемое значение должно быть передано с использованием returns, а не return.

Также обратите внимание, Rails.configuration возвращает Rails.application.config. Если ваш метод не использует Rails.configuration напрямую, он может фактически обойти вызов, и ваши ожидания не сработают.

0 голосов
/ 03 сентября 2011
Rails.stubs(:configuration).returns(Rails::Application::Configuration.allocate)

Этот ответ на насмешливый сетевой ответ помог

...