问题标签 [vcr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
api - SEOMOZ + VCR 的自定义请求匹配器
我正在尝试将 SEOMOZ API 与 VCR 集成。
由于对 SEOMOZ 的 API 请求包含随时间变化的相同请求的参数,我需要实现一个自定义匹配器。
这是我的 API 调用的样子:
我还调用其他端点,例如 Twitter、Facebook 等。默认匹配器可以很好地完成工作。
如何仅针对 SEOMOZ 覆盖匹配器行为。在这种情况下,我应该在哪些参数上最好地匹配请求。
ruby - 根据要求使用特定的 VCR 磁带
情况:使用 Rspec、FactoryGirl 和 VCR 测试 rails 应用程序。
每次创建用户时,都会通过 Stripe 的 API 创建关联的 Stripe 客户。在测试时,在涉及用户创建的每个规范中添加一个VCR.use_cassette
or并没有真正的意义。describe "...", vcr: {cassette_name: 'stripe-customer'} do ...
我的实际解决方案如下:
但这是不可持续的,因为每个 http 请求都会使用相同的磁带,这当然是非常糟糕的。
问题:如何根据个人要求使用特定的固定装置(磁带),而不为每个规格指定磁带?
我有这样的想法,伪代码:
相关代码(作为要点):
编辑
我结束了这样的事情:
ruby-on-rails - Rspec 元数据:vcr 应该只用于标记示例,但适用于每个示例?
简单设置:
我希望未标记的示例不会:vcr
受到影响,但似乎并非如此。我收到“VCR 不知道请求...”的错误。
我错过了什么?
ruby-on-rails - 如何在 rspec 中测试此第三方 API 集成?
我的项目是一个扩展了一些第三方 API 的 Rails 应用程序。许多请求依赖于第三方 API 调用。我应该如何在 rspec 中测试这些案例?我应该使用 VCR 并且实际上只是点击第三方(然后模拟未来的请求)吗?还是我应该手动将有效负载下载到固定装置中并使用 webmock 存根请求并找到绕过 oauth 过程的方法?有更好的解决方案吗?
请注意,它使用 OAuth,但我不使用omniauth。
有时 API 限制我一次只能获取 N 条记录,所以我必须对它们进行分页。在某些情况下,我发出 25 个请求只是为了获取我需要的数据,但这主要用于同步 rake 任务。
ruby - 让 VCR 跳过 URI:
我需要 VCR 跳过https://api.github.com/users/lapaty/starred调用真正的外部 API,同时继续模拟类似的路径,如https://api.github.com/repos/lgs/elasticrepo
到目前为止,我尝试了以下操作,但没有成功:
和
ruby-on-rails - 在 rspec 中使用 vcr 和保护 jasmine 的问题
在使用 rspec 的 Rails 项目中,我已经让Guard jasmine 运行 jspecs 了一段时间。但我只是将一些常规规格的录像机包括在内,当我这样做时,它打破了茉莉花。
我尝试stub_request
按照错误提示在许多不同的地方打电话,但一无所获。我也试过用allow_http_connections_when_no_cassette = true
and配置 vcrignore_localhost = true
但没有效果。有人对如何解决这个问题有任何想法吗?
谢谢!
编辑:
问题是我拥有的 vcr 配置文件仅由 rspec 而不是 jasmine 加载,所以我尝试的 2 个选项当然不起作用。解决方法是在 jasmine rake 任务中简单地要求 vcr 配置文件。
ruby-on-rails - VCR 的 allow_playback_repeat 选项不允许我重复使用旧磁带
我有一个实现 VCR 的测试,如下所示:
当我运行测试时,VCR 会创建一个磁带,并且测试通过 rspec。但是,当我重新运行测试时,它失败并出现以下错误:
初始测试的 VCR 日志信息(rspec 测试通过)
第二次测试的录像机日志信息(rspec 测试失败)
为什么 allow_playback_repeats 不起作用?
ruby - 测试 HTML 解析器
我正在尝试为在 ruby 上编写的 HTML 解析器实现一些测试,并使用 Nokogiri 进行解析,它从一些 http 请求中获取响应。
目前,测试使用一个夹具(保存的 html 文件)。但问题是,实际响应有时会发生变化(元素的 ID 或类别发生变化),因此解析器无法正确解析它。但测试仍然通过,因为它使用了静态夹具。
你能推荐一种处理这种情况的方法吗?
ruby - 录像机自动重新录制在第一个间隔后不重新录制
我在录像机中自动重新录制磁带时遇到问题
这是我的配置:
和电话:
对于第一个请求,磁带被正确记录,但在第一次间隔时间过去后它不会重新录制磁带,它只是将新的请求数据附加到文件中,完全忽略间隔。
rspec - Rspec VCR 和自定义响应
假设,我有一个对 google.com 的请求。能录卡带,使用。但是想象一下当 google.com 返回 500 错误代码时我需要测试套件的情况?怎么可能做到?我想过手动更改磁带文件,但是当我需要重新录制所有磁带时,我也需要更改此磁带,这不适合我的需要,因为我有很多这样的情况
或者是否有任何替代 vcr 的方法可以这样做?