【发布时间】:2023-04-07 11:16:01
【问题描述】:
我的测试套件记录了几种不同类型的连接,一种通过bitly gem,另一种通过Typhoeus。
由于某种原因,当我使用 Typhoeus 的 :followlocation 选项时,
Typhoeus.get(url, :followlocation => true)
VCR 磁带记录初始 url 以及二进制响应,这会导致从磁带运行的后续测试失败。
以前,我使用 Net::HTTP 跟踪重定向,并记录每个跃点,从而允许 VCR 正确重播每个跃点。
如何让 VCR 正确响应 Typhoeus 的响应?
Here's the file 包含罪魁祸首录音(用于 tinyurl 链接)。
我看到的替代方法是不记录这些请求,并要求测试套件每次都访问真实站点。这并不理想(或真正的解决方案),但它让我的测试通过了。
【问题讨论】:
-
旁注:一定要删除之前的VCR录音。
-
更新到台风后,我把所有的磁带都吹走了。当您重新运行规范时,它们第一次访问网络并且它们工作(除了后来重用套件中早期录制的磁带的那些)。下次他们都使用磁带,任何使用 typhoeus 重定向跟随的东西都不起作用。