如果您在未注册的测试中发出web请求,webmock将引发异常,建议如何对其进行模拟,并列出以前注册的所有模拟:
我希望能够转储所有注册的模拟,就像上面绿色圆圈部分一样。我该怎么做?
我尝试了几次这样的调用,但都没有成功:
snippet = WebMock::RequestSignatureSnippet.new(nil)
puts snippet.request_stubs
但我在第一行得到了这个错误:
ArgumentError:
wrong number of arguments (given 0, expected 1)
# ./spec/models/user_spec.rb:113:in `new'
虽然我不明白 wrong number of argument
错误,(毕竟,我给了零分)我怀疑我找错了方向,有一个简单的方法可以做到这一点。我在文档或在线搜索中没有找到任何参考资料。
我可以复制代码并编写自己的转储程序,但这似乎很愚蠢。
除了发出错误的网络请求外,有没有一种简单的方法可以获得所有注册WebMock的格式化转储?
1条答案
按热度按时间rjzwgtxy1#
你可以检查一下内容
request_stub
为定义的类变量WebMock::StubRegistry
:在那里你可以使用每一个
RequestStub
request_pattern
方法及其内容。使用
RequestSignatureSnippet
.初始化
RequestSignatureSnippet
对象是一个RequestSignature
对象本身希望接收http方法(作为字符串)和uri(作为字符串):