问题标签 [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.

0 投票
2 回答
100 浏览

api - SEOMOZ + VCR 的自定义请求匹配器

我正在尝试将 SEOMOZ API 与 VCR 集成。

由于对 SEOMOZ 的 API 请求包含随时间变化的相同请求的参数,我需要实现一个自定义匹配器。

这是我的 API 调用的样子:

我还调用其他端点,例如 Twitter、Facebook 等。默认匹配器可以很好地完成工作。

如何仅针对 SEOMOZ 覆盖匹配器行为。在这种情况下,我应该在哪些参数上最好地匹配请求。

0 投票
3 回答
5526 浏览

ruby - 根据要求使用特定的 VCR 磁带

情况:使用 Rspec、FactoryGirl 和 VCR 测试 rails 应用程序。

每次创建用户时,都会通过 Stripe 的 API 创建关联的 Stripe 客户。在测试时,在涉及用户创建的每个规范中添加一个VCR.use_cassetteor并没有真正的意义。describe "...", vcr: {cassette_name: 'stripe-customer'} do ...我的实际解决方案如下:

但这是不可持续的,因为每个 http 请求都会使用相同的磁带,这当然是非常糟糕的。

问题:如何根据个人要求使用特定的固定装置(磁带),而不为每个规格指定磁带?

我有这样的想法,伪代码:

相关代码(作为要点):

编辑

我结束了这样的事情:

0 投票
1 回答
344 浏览

ruby-on-rails - Rspec 元数据:vcr 应该只用于标记示例,但适用于每个示例?

简单设置:

我希望未标记的示例不会:vcr受到影响,但似乎并非如此。我收到“VCR 不知道请求...”的错误。

我错过了什么?

0 投票
1 回答
549 浏览

ruby-on-rails - 如何在 rspec 中测试此第三方 API 集成?

我的项目是一个扩展了一些第三方 API 的 Rails 应用程序。许多请求依赖于第三方 API 调用。我应该如何在 rspec 中测试这些案例?我应该使用 VCR 并且实际上只是点击第三方(然后模拟未来的请求)吗?还是我应该手动将有效负载下载到固定装置中并使用 webmock 存根请求并找到绕过 oauth 过程的方法?有更好的解决方案吗?

请注意,它使用 OAuth,但我不使用omniauth。

有时 API 限制我一次只能获取 N 条记录,所以我必须对它们进行分页。在某些情况下,我发出 25 个请求只是为了获取我需要的数据,但这主要用于同步 rake 任务。

0 投票
1 回答
80 浏览

ruby - 让 VCR 跳过 URI:

我需要 VCR 跳过https://api.github.com/users/lapaty/starred调用真正的外部 API,同时继续模拟类似的路径,如https://api.github.com/repos/lgs/elasticrepo

到目前为止,我尝试了以下操作,但没有成功:

0 投票
0 回答
198 浏览

ruby-on-rails - 在 rspec 中使用 vcr 和保护 jasmine 的问题

在使用 rspec 的 Rails 项目中,我已经让Guard jasmine 运行 jspecs 了一段时间。但我只是将一些常规规格的录像机包括在内,当我这样做时,它打破了茉莉花。

我尝试stub_request按照错误提示在许多不同的地方打电话,但一无所获。我也试过用allow_http_connections_when_no_cassette = trueand配置 vcrignore_localhost = true但没有效果。有人对如何解决这个问题有任何想法吗?

谢谢!

编辑:

问题是我拥有的 vcr 配置文件仅由 rspec 而不是 jasmine 加载,所以我尝试的 2 个选项当然不起作用。解决方法是在 jasmine rake 任务中简单地要求 vcr 配置文件。

0 投票
0 回答
1283 浏览

ruby-on-rails - VCR 的 allow_playback_repeat 选项不允许我重复使用旧磁带

我有一个实现 VCR 的测试,如下所示:

当我运行测试时,VCR 会创建一个磁带,并且测试通过 rspec。但是,当我重新运行测试时,它失败并出现以下错误:

初始测试的 VCR 日志信息(rspec 测试通过)

第二次测试的录像机日志信息(rspec 测试失败)

为什么 allow_playback_repeats 不起作用?

0 投票
1 回答
286 浏览

ruby - 测试 HTML 解析器

我正在尝试为在 ruby​​ 上编写的 HTML 解析器实现一些测试,并使用 Nokogiri 进行解析,它从一些 http 请求中获取响应。

目前,测试使用一个夹具(保存的 html 文件)。但问题是,实际响应有时会发生变化(元素的 ID 或类别发生变化),因此解析器无法正确解析它。但测试仍然通过,因为它使用了静态夹具。

你能推荐一种处理这种情况的方法吗?

0 投票
1 回答
432 浏览

ruby - 录像机自动重新录制在第一个间隔后不重新录制

我在录像机中自动重新录制磁带时遇到问题

这是我的配置:

和电话:

对于第一个请求,磁带被正确记录,但在第一次间隔时间过去后它不会重新录制磁带,它只是将新的请求数据附加到文件中,完全忽略间隔。

0 投票
2 回答
207 浏览

rspec - Rspec VCR 和自定义响应

假设,我有一个对 google.com 的请求。能录卡带,使用。但是想象一下当 google.com 返回 500 错误代码时我需要测试套件的情况?怎么可能做到?我想过手动更改磁带文件,但是当我需要重新录制所有磁带时,我也需要更改此磁带,这不适合我的需要,因为我有很多这样的情况

或者是否有任何替代 vcr 的方法可以这样做?