我的测试套件记录了几种不同类型的连接,一种通过bitly gem,另一种通过Typhoeus。
出于某种原因,当我使用 Typhoeus 的:followlocation选项时,
Typhoeus.get(url, :followlocation => true)
VCR 磁带记录初始 url 以及二进制响应,这会导致从磁带运行的后续测试失败。
以前,我使用 Net::HTTP 跟踪重定向,并记录每个跃点,从而允许 VCR 正确重播每个跃点。
如何让 VCR 正确响应 Typhoeus 的响应?
这是包含罪魁祸首录音的文件(用于 tinyurl 链接)。
我看到的另一种选择是不记录这些请求并要求测试套件每次都访问真实站点。这并不理想(或真正的解决方案),但它让我的测试通过了。