问题标签 [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.
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
:
ruby - 使用 VCR 过滤敏感数据
我正在使用 VCR gem 记录 http 交互并在将来重播它们。我想在 uri 请求中过滤掉我的实际密码值。这是 uri 的示例:
尽管此处提供了解释,但我自己尝试了几次后仍然不确定该怎么做:
https://www.relishapp.com/myronmarston/vcr/v/2-0-0/docs/configuration/filter-sensitive-data
任何帮助,将不胜感激。
ruby-on-rails - 使用带有回形针的 VCR 时测试失败
我有一个测试,第一次有效并通过,但第二次运行规范套件时失败:
该类MasterAsset
使用回形针(要求)将正在处理的图像上传到 S3。
我回来的错误是:
这是回形针和 aws-s3 之间的接口错误。
我一直在排除故障,现在用谷歌搜索了几个小时。看起来这应该是一个非常普遍的情况,但我似乎无法让测试再次通过。
python - Ruby 的 VCR 库是否有 python 替代品?
我想使用Ruby 的 VCR 库或JVM 的 Betamax的令人敬畏的“记录/播放”机制。是否有以相同方式工作的 Python 库?如果不是,您如何测试您的 REST 客户端调用,而不用担心测试缓慢且不稳定?
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。应该是这样的
ruby - 带有 capybara-webkit 的录像机
我正在使用 capybara-webkit 来测试与第三方网站的集成(我需要 javascript)。
我想使用 vcr 记录集成测试期间发出的请求,但 capybara-webkit 不通过 net http,因此 vcr 无法记录它们。我将如何为 vcr 编写一个允许我记录请求的适配器?
ruby-on-rails - Ruby VCR gem 不断记录相同的请求
在我的黄瓜支持目录中,我在 vcr.rb 中有以下内容:
我正在对调用 Google Maps API 的城市名称进行地理编码。我正在尝试记录和存根这些请求,但它一直将相同的请求记录到同一个 yml 文件中:
这是相同的 URL 和相同的请求,VCR 不应该存根请求吗?每次我尝试搜索同一个城市时,如何防止我的规范访问 API?
ruby - 如何标记黄瓜场景大纲示例以与 VCR 磁带一起使用?
我想根据示例中的标签应用不同的 VCR 磁带。据我所知,标记黄瓜场景大纲示例是可能的,但我无法让 VCR 识别任何标签。这可能吗?
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)。
最好的问候托斯滕
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 配置中优雅地做到这一点?