カスタム応答でラムダを使用してみました:
stub_request(
:post,
'http://blah.blah/token'
).to_return(
status: 200,
body: lambda { |a| '{"token":"' + SecureRandom.hex(20) + '","expires_in":"259200"}' }
)
これは動的応答を処理する正しい方法ではないかもしれませんが、とにかく、webmock はラムダを 1 回だけ実行するようです。リクエストは毎回同じなので、次のいずれかです。
- ラムダを使用すると、応答ごとに動的コンテンツを生成できるという私の仮定は間違っていました。
- 繰り返されるリクエストは同一であるため、webmock は生成された最後のレスポンスのみを使用します。