问题标签 [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 回答
10629 浏览

ruby-on-rails - 使用 VCR 的控制器测试中的 VCR::Errors::UnhandledHTTPRequestError

我正在尝试模拟一个上传文件的 api 调用,我正在使用Wistia Upload API,因为我不想在每次测试时都访问服务器,所以我第一次尝试 VCR。

我的 spec/controllers 文件夹中有以下测试:

结尾

API 调用在模型回调中触发,如下所示:

我已经调试了对这个方法的调用,并且它被正确调用了,但是当我运行我的测试时,我得到了以下错误:

磁带已创建,但我收到了上述错误。在我删除磁带查看它是否正在生成后,它没有重新生成,并且 VCR 没有处理请求。

0 投票
1 回答
138 浏览

ruby-on-rails - Flickraw 和 VCR 给出了意想不到的结果

我正在使用VCR测试从 Flickr 获取照片集列表的方法

该方法本身非常简单,并使用 flickraw 从中获取照片 flickr.photosets.getList并将它们映射到Photoset对象。

然而,由于 Flickraw 也向flickr.reflection.getMethods

有时返回请求方法而不是 Photosets

我使用 VCR 是错误的还是 Flickraw 中的错误?

这些是记录的 HTTP 交互:

0 投票
1 回答
295 浏览

ruby-on-rails - 如何将 Capybara 的“访问”与域受限的路由一起使用?

我的 rails 应用程序中有域受限的路由:

我想用水豚visit来参观那些路线。我尝试设置Capybara.default_host并设置Capybara.app_host到我的虚拟主机域之一,但仍然无法正常工作。

我也尝试使用selenium-webdriver, 来允许访问外部 url,但也使用 VCR 来阻止外部 url 连接。

感谢任何可以提供帮助的人:)

0 投票
1 回答
490 浏览

angularjs - 如何使用 AngularJs(如 Rails 中的 vcr)进行测试以记录固定装置?

我一直在到处寻找,我尝试了节点重播,但使用了量角器,但它不适用于 selenium。

我也尝试过 vcr.js 和棕褐色。

我该如何设置我的测试,以便他们进行初始调用,但将它们存储为录像带之类的磁带。

干杯。

0 投票
1 回答
473 浏览

ruby-on-rails - 当我使用 VCR ignore_hosts 配置选项时,我的所有其他请求都失败了

我正在使用带有黄瓜的录像机。我想要求 VCR 忽略对“api.stripe.com”的所有请求,不要处理它们。让请求通过真正的 Stripe API 服务器。但只有那些。我希望其余的请求由 VCR 处理。所以,我有以下 VCR 设置:

当我运行我的测试时,所有访问其他外部服务的测试都失败了。例如:

所以,真的,我不知道这里发生了什么。有什么帮助吗?

0 投票
2 回答
520 浏览

ruby-on-rails - 如何存根 Rails 服务中的依赖项

我有:

  • 调用第 3 方 API (lib) 的 Web 服务包装器
  • 调用该包装器并进行一些处理(服务)的服务

用 VCR 测试 lib 类效果很好,但我不确定如何测试服务。具体来说,我如何在服务内部存根 API 调用?

和测试:

我不希望将 Foo 传递给服务。

在 Payola 中,作者使用 StripeMock 来模拟响应。我可以写一些类似的东西,比如调用 VCR 并让服务使用它的 FooMock 吗?

不确定如何使用 Ruby 执行此操作,我习惯于将 C#/Java DI 传递给构造函数。

谢谢您的帮助。

更新

移至完整答案

0 投票
5 回答
4788 浏览

ruby - 为特定规格关闭 VCR

如何告诉 VCR 我希望它完全忽略规范文件?

我在 Google Groups 上读过一篇文章,其中建议要么允许真正的 HTTP 请求,要么明确关闭 VCR。

在我看来,更有用的是 VCR 不会坚持下去,除非规范具有:vcr元数据标签。我不想在before/中关闭并重新打开 VCR after,因为我不知道它是否事先打开。我不想在所有规范中都允许真正的 HTTP 请求,只允许一些特定的请求。

有什么办法可以让 VCR 更有选择性吗?

0 投票
1 回答
637 浏览

ruby-on-rails - 我可以记录未处理的 VCR 请求正文吗?

我正在使用VCR gem 来模拟 HTTP 查询。我已经录制了磁带,但后来我不得不改变一些东西,现在我得到了一个错误:

现在,因为它是一个 POST 请求,所以 VCR 被配置为匹配那些在 body 和 path 上的请求。我可以记录或转储未处理请求的正文,以便相应地调整磁带吗?谢谢你。

0 投票
1 回答
861 浏览

ruby-on-rails - 无法使用 VCR 过滤敏感数据

我的 spec_helper 中有以下内容

然而,当我运行我的规范时,我发现它在磁带中创建了以下条目:

如您所见,有一部分未被过滤。我不确定它是否包含有用的信息,但我不想仅仅粘贴它以防万一。但是,我可以说它不包含我的密钥或秘密。只是绒毛吗?我应该关心吗?这是在使用 aws-sdk gem 过滤 S3 请求时通常会发生的情况吗?如果没有,那么我怎样才能让它过滤所有的授权数据?

是否有一组特殊的指令用于过滤 S3 密钥?我真的不想搞砸了。

0 投票
0 回答
380 浏览

ruby-on-rails - 在 RSpec 中记录和回放对 Rails 应用程序的入站 HTTP 请求?

我正在为接收 HTTP JSON 请求并返回对这些请求的响应的 Rails 控制器编写规范。在我的测试套件中,我想要一些固定的 HTTP 请求,我可以对我的应用程序进行回放。

示例代码:

基本上,我想要VCR但反过来,所以我可以在我的规范中回放一组已知的请求,以确保我的应用程序的行为符合我的预期。

  1. VCR 可以针对我的应用程序记录和播放入站请求吗?
  2. 如果可以,我如何记录“入站请求”?
  3. 如果不能,是否有宝石可以做这样的事情?

(另外,这个人正在做类似的事情,但它与我的测试套件并没有很好地结合。)