Тестирование веб-API с использованием RSpec и VCR - PullRequest
8 голосов
/ 28 января 2012

Я пишу обертку API как драгоценный камень и хочу протестировать ответы API, используя RSpec.

Проблема в том, что все запросы API выполняются с использованием GET и содержат ключ API в URL:

например. game/metadata/{api_key}

Это создает проблемы для тестирования, так как я не хочу сохранять ключ API в истории git-репозитория. Можно ли как-нибудь провести эти тесты спецификаций, желательно с RSpec / VCR, и не хранить ключ API в управлении версиями?

Я пытался использовать переменные среды, но VCR по-прежнему хранит весь запрос, а не только тело ответа.

1 Ответ

20 голосов
/ 28 января 2012

Видеомагнитофон имеет опцию конфигурации специально для таких случаев:

VCR.configure do |c|
  c.filter_sensitive_data("<API_KEY>") { MyAPIClient.api_key }
end

См. https://www.relishapp.com/myronmarston/vcr/docs/configuration/filter-sensitive-data для большего примера.

...