Ruby WebMock:获取通过方法传递的实际参数并在规范文件中使用它们



我正在使用WebMock来截取HTTP请求。我有一个特殊的调用,在这个调用中,我不想创建要传递的伪数据,而是希望能够捕获传递到send()方法中的实际参数。因此,我需要访问规范中的那些实际参数,我想我需要以某种方式捕获该上下文。

例如,在我的应用程序中,我调用这个方法:

  send(method, uri, :body => data_file)

在我的规范文件中,我正在清除方法:

  FoobarModule.should_receive(:send).with(args)

有没有什么方法可以让我——在WebMock,Rspec中——获取应用程序中何时调用send()的上下文,并获取我正在传递的参数,以便在规范中使用它们,并用args替换它们?

我看过文件,没有看到太多关于这方面的内容。如果有人知道这一点,我将非常感谢你的帮助。谢谢

使用WebMock,您可以使用请求回调来捕获请求数据:

WebMock.allow_net_connect!
WebMock.after_request do |request_signature, response|
 puts request_signature
end

最新更新