Как лучше всего писать спецификации для кода, зависящего от переменных среды?

Я тестирую некоторый код, который извлекает свою конфигурацию из переменных окружения (установленных конфигурационными переменными Heroku в продакшене, для локальной разработки я использую foreman).

Как лучше всего протестировать такой код с помощью RSpec?

Я придумал следующее:

before :each do
    ENV.stub(:[]).with("AWS_ACCESS_KEY_ID").and_return("asdf")
    ENV.stub(:[]).with("AWS_SECRET_ACCESS_KEY").and_return("secret")
end

Если вам не нужно тестировать различные значения переменных среды, я думаю, вы могли бы вместо этого установить их в spec_helper.

54
задан Luke Francl 7 March 2012 в 13:28
поделиться