jua*_*tas 5 ruby-on-rails cucumber google-oauth vcr
您好,我正在尝试使用带有标签的 vcr 来测试黄瓜的谷歌身份验证。
一切都很顺利,直到令牌过期。我认为当它过期时会发生这种情况
但我有一个包含此内容的文件
http_interactions:
- request:
method: post
uri: https://accounts.google.com/o/oauth2/token
body:
Run Code Online (Sandbox Code Playgroud)
如果我允许录像机记录新的请求,该磁带的内容就会发生变化。我不明白为什么,如果方法和 uri 不将 POST 更改为https://accounts.google.com/o/oauth2/token。
我更改了标签来记录新剧集,现在测试正在通过......我一无所知。
我再次运行测试,现在当 POST 到 token url 时,我遇到了这个:
Completed 500 Internal Server Error in 449ms
Psych::BadAlias (Unknown alias: 70317249293120):
Run Code Online (Sandbox Code Playgroud)
也许您在帖子中包含一些参数,这些参数对于每个请求都是不同的?match_requests_on: [:method, VCR.request_matchers.uri_without_params("your_param")]
如果是这样,您可以通过添加到 VCR 配置来告诉 VCR 忽略此参数。
深入分析您的请求,找出哪些参数发生了变化。您还可以告诉 VCR 匹配其他条件,请查看此处https://www.relishapp.com/vcr/vcr/v/2-4-0/docs/request-matching