我尝试在自定义响应中使用 lambda:
stub_request(
:post,
'http://blah.blah/token'
).to_return(
status: 200,
body: lambda { |a| '{"token":"' + SecureRandom.hex(20) + '","expires_in":"259200"}' }
)
也许这不是处理动态响应的正确方法,但无论如何,webmock 似乎只执行一次 lambda。每次请求都是相同的,因此:
- 我认为使用 lambda 可以让我在每个响应的基础上生成动态内容的假设是错误的。
- 因为重复的请求是相同的,所以 webmock 只使用它生成的最后一个响应。