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
Другие вопросы по тегам