В моем приложении Ruby on Rails работает 2 сервера Localhost. Я пишу тестовые примеры для 1-го сервера, поэтому мне приходится издеваться над 2-м сервером. Для этого я использую видеомагнитофон для записи ответов, которые я получаю от 2-го сервера, и воспроизведения записанной кассеты при выполнении тестов на 1-м сервере.
Я застрял в той части, где 1-й сервер делает запрос 2-му серверу (session_id в URL-адресе меняется каждый раз), и я хочу, чтобы ответ был одинаковым каждый раз, когда он делает запрос.





Используя видеомагнитофон, вы можете сопоставлять запросы по любым параметрам (метод, хост, путь и т. д.), Используя опцию кассеты match_requests_on или полностью настраиваемый сопоставитель - https://relishapp.com/vcr/vcr/v/3-0-3/docs/request-matching
Я сделал эту работу через игнорирование параметров. Так что для вас может сработать что-то вроде этого:
VCR.use_cassette('name_of_your_cassette', match_requests_on: [:method, VCR.request_matchers.uri_without_params('session_id')]) do
# here is your http query
end
В моем случае это был query, который менялся, поэтому я проигнорировал это в сопоставлении запросов vcr.