问题标签 [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 投票
1 回答
266 浏览

ruby - 无法使用 VCR 记录 Whois 请求?

我正在尝试在 Rails 之外使用VCR 2.0.0。

vcr_cassettes当我运行规范时,VCR 似乎完美地创建了目录。但是,测试似乎仍在网络上,并且在盒式磁带目录中从未找到任何 yaml 盒式磁带。

任何想法我做错了什么?

这是我运行相关规范的示例:

我有一个spec/support/vcr_helper.rb

我在下面有一个规范文件spec/lib/availability_checkers/net_checker_spec.rb

如果你有兴趣,这里是正在测试的方法lib/availability_checkers/net_checker.rb

0 投票
2 回答
3411 浏览

ruby - 使用 VCR 过滤敏感数据

我正在使用 VCR gem 记录 http 交互并在将来重播它们。我想在 uri 请求中过滤掉我的实际密码值。这是 uri 的示例:

尽管此处提供了解释,但我自己尝试了几次后仍然不确定该怎么做:

https://www.relishapp.com/myronmarston/vcr/v/2-0-0/docs/configuration/filter-sensitive-data

任何帮助,将不胜感激。

0 投票
1 回答
450 浏览

ruby-on-rails - 使用带有回形针的 VCR 时测试失败

我有一个测试,第一次有效并通过,但第二次运行规范套件时失败:

该类MasterAsset使用回形针(要求)将正在处理的图像上传到 S3。

我回来的错误是:

这是回形针和 aws-s3 之间的接口错误。

我一直在排除故障,现在用谷歌搜索了几个小时。看起来这应该是一个非常普遍的情况,但我似乎无法让测试再次通过。

0 投票
3 回答
3012 浏览

python - Ruby 的 VCR 库是否有 python 替代品?

我想使用Ruby 的 VCR 库JVM 的 Betamax的令人敬畏的“记录/播放”机制。是否有以相同方式工作的 Python 库?如果不是,您如何测试您的 REST 客户端调用,而不用担心测试缓慢且不稳定?

0 投票
0 回答
802 浏览

rspec2 - FakeWeb::NetConnectNotAllowedError

我正在尝试测试我的应用程序和遥控器。我使用 Rails 3.2 和最新版本的 vcr 和 fakeweb。实际上我看过RailsCast,现在我想做反测试,但我做不到。

我的请求测试文件;

不要卡在 page.should 行。我只是尝试了如何进行反测试。

和我的模型;

我运行时的错误bundle exec rspec spec/requests/zip_code_lookup_spec.rb

我不明白为什么 VCR 不能在不同的状态下运行相同的 HTTP 请求。

如何以反测试方式进行测试?

解决方案

抱歉,这是我的错误:(我忘了在“it”描述行中写:vcr。应该是这样的

0 投票
2 回答
2996 浏览

ruby - 带有 capybara-webkit 的录像机

我正在使用 capybara-webkit 来测试与第三方网站的集成(我需要 javascript)。

我想使用 vcr 记录集成测试期间发出的请求,但 capybara-webkit 不通过 net http,因此 vcr 无法记录它们。我将如何为 vcr 编写一个允许我记录请求的适配器?

0 投票
4 回答
6275 浏览

ruby-on-rails - Ruby VCR gem 不断记录相同的请求

在我的黄瓜支持目录中,我在 vcr.rb 中有以下内容:

我正在对调用 Google Maps API 的城市名称进行地理编码。我正在尝试记录和存根这些请求,但它一直将相同的请求记录到同一个 yml 文件中:

这是相同的 URL 和相同的请求,VCR 不应该存根请求吗?每次我尝试搜索同一个城市时,如何防止我的规范访问 API?

0 投票
1 回答
637 浏览

ruby - 如何标记黄瓜场景大纲示例以与 VCR 磁带一起使用?

我想根据示例中的标签应用不同的 VCR 磁带。据我所知,标记黄瓜场景大纲示例是可能的,但我无法让 VCR 识别任何标签。这可能吗?

0 投票
1 回答
573 浏览

ruby-on-rails-3 - 在 Cucumber 功能中使用 VCR 测试 Rails 3 后台作业(API-Request)的响应

我有一个 Rails 3 后台作业 (delayed_job),它向他们的 API 发送一条 hipchat / Campfire 消息,我想检查我的 Cucumber 功能中的响应。有没有办法获得 VCR 记录的最后一个 HTTP 响应?

该功能看起来像这样

在我的步骤定义中,我想检查响应正文:

VCR 已经记录了请求和响应,但我不知道如何获取它们。我想到了类似于捕获使用 Pickle 的步骤发送的电子邮件的方法。有谁知道如何做到这一点?

我使用 rails 3.2.8、cucumber-rails 1.3 和 vcr 2.2.4(带有 webmock)。

最好的问候托斯滕

0 投票
2 回答
1298 浏览

ruby-on-rails - 使用 VCR 和 RSpec 测试速率受限的外部 API 调用

在我的 Rails 项目中,我使用VCR和 RSpec 来测试与外部 REST Web 服务的 HTTP 交互,该服务只允许每秒调用一次

到目前为止,这意味着我最终会运行我的测试套件,直到它由于来自 Web 服务的“超出调用次数”错误而失败。不过,在那个阶段,至少有一些磁带被记录下来,所以我只是不断地运行测试套件,直到最终我将它们全部记录下来,并且套件只能使用磁带运行(我的default_cassette_options = { record: :new_episodes })。这似乎不是一种最佳的做事方式,特别是如果我发现我以后需要经常重新录制我的磁带,并且我担心不断的呼叫可能会使我进入网络服务的黑名单(没有测试他们有我知道的服务器)。

因此,我最终尝试在调用 Web 服务之前直接将调用sleep(1)放入我的 Rspecit块中,然后将这些调用重构到 VCR 配置中:

规范/支持/vcr.rb

虽然这似乎工作正常,但有没有更好的方法来做到这一点?目前,如果调用没有磁带的外部服务已经是套件中的最终测试,那么套件会不必要地休眠 1 秒。同样,如果测试套件中没有磁带的 2 个 Web 服务调用之间的时间超过一秒,那么就会有另一个不必要的暂停。有没有人制定任何逻辑来测试这些条件,或者有没有办法在 VCR 配置中优雅地做到这一点?