Как застабить переменные окружения в RSpec
Чтобы застабить в тесте переменную окружения, заглушите метод, с помощью которого код читает эту переменную:
# Если в коде ENV["CHARGES_TOKEN"]
allow(ENV)
.to receive(:[])
.with("CHARGES_TOKEN")
.and_return("XXX")
# Если в коде ENV.fetch("CHARGES_TOKEN")
allow(ENV)
.to receive(:fetch)
.with("CHARGES_TOKEN")
.and_return("XXX")
Если вы сторонник готовых гемов, возьмите для этой цели ClimateControl:
ClimateControl.modify CHARGES_TOKEN: "XXX" do
# ...
end
P. S. Ещё больше постов о программировании, тестах и культуре разработки у меня в Телеграме.