Ruby WebMock: получение актуальных параметров через метод и использование их в файле спецификации
Я использую WebMock, чтобы заглушить HTTP-запросы. У меня есть один конкретный вызов, где вместо создания фиктивных данных для передачи я хочу иметь возможность записывать фактические параметры, которые я передам в мой метод send(). Поэтому мне нужен доступ к этим фактическим параметрам в моей спецификации, и я думаю, что мне нужно как-то захватить этот контекст.
Так, например, в моем приложении я вызываю этот метод:
send(method, uri, :body => data_file)
И в моем файле спецификации я заглушаю метод:
FoobarModule.should_receive(:send).with(args)
Есть ли способ, которым я мог бы - в WebMock, Rspec - получить контекст, когда вызывается send() в приложении, и захватить те параметры, которые я передаю, чтобы использовать их в спецификации, и заменить их аргументами?
Я просмотрел документацию и ничего особенного в этом не вижу. Если кто-то знает об этом, я был бы очень признателен за вашу помощь. Благодарю.
1 ответ
Используя WebMock, вы можете использовать обратные вызовы для сбора данных запроса:
WebMock.allow_net_connect!
WebMock.after_request do |request_signature, response|
puts request_signature
end