Ruby WebMock:获取实际参数通过方法并在Spec文件中使用它们

时间:2013-12-02 21:06:36

标签: ruby webmock

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

因此,例如,在我的应用程序中,我正在调用此方法:

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

在我的spec文件中,我正在使用该方法:

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

我有什么方法可以 - 在WebMock,Rspec中 - 获取在应用程序中调用send()的时间的上下文,并获取我正在传递的参数以在规范中使用它们并将其替换为ARGS?

我查看了文档,但我没有看到任何相关内容。如果有人意识到这一点,我将非常感谢你的帮助。感谢。

1 个答案:

答案 0 :(得分:1)

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

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