问题标签 [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.
cucumber - 如何从 Cucumber > VCR 中访问 stub_request
我想在我的黄瓜步骤定义中伪造一个网络超时,如下所示:
它会给出 stub_request 不存在的错误。
所以,我的问题是在 VCS 中哪里可以找到 webmock 对象,所以我可以添加一个 stub_request。
ruby - 在类似的场景中回收录制的录像带或告诉录像带在场景中使用特定的录像带
我必须使用一些涵盖一些新行为的新场景来扩展现有的黄瓜功能。目前,整个 cucumber/vcr 的东西都设置为这样,它将寻找具有匹配场景名称的盒式磁带:
将在 中查找已录制的磁带./cassettes/bar/foo.yml
。但是还有其他情况可以回收之前录制的磁带。(也从我身边添加的那些)。因此,每个场景都有一个膨胀的文件夹,其中包含相同的磁带,但只是重命名:
也是如此./cassettes/bar/foo.yml
,./cassettes/bar/foo1.yml
..../cassettes/bar/fooX.yml
具有完全相同的内容。什么是干燥的正确方法?
是否有可能指定要明确使用的 vcr 盒式磁带,例如?
非常感谢 ;)
rspec - 如何判断 VCR 是处于录制模式还是播放模式?
我正在使用带有 RSpec 的 VCR 对一段 API 代码进行单元测试,我遇到了一个小挑战。
我的客户端代码用于sleep
限制 API 请求的速率。多亏了这个优雅的解决方案,我现在可以sleep
从我的单元测试中截取带有存根的消息:
问题是,当我在开发这段代码时,我必须经常删除我的磁带,但是由于我已经存根sleep
,所以对真正的 API 请求没有速率限制,并且规范被炸毁了。
[我认为] 我想做的是如下所示:
这样sleep
我在录制磁带时就不会干扰被摄对象。
我看到了有趣的相关讨论,但这似乎是一个不同的案例,我不知道如何直接利用它。然而,这确实让我发现了 VCR 钩子(尤其是before_playback
),但我不清楚我将如何导出subject
到块的范围内,或者代理块执行到我的测试范围内以制作存根。
有什么想法吗?
注意:我正在使用我的config.configure_rspec_metadata!
功能spec_helper.rb
来自动捕获/命名我的磁带,如果这有什么不同的话(即我没有将每个单独的 API 方法明确地包装在它自己的 VCR 块中)。
ruby - 在这种情况下,我将如何使用 VCR(带有 WebMock)?
我正在开发一个用于构建 API 包装器的 DSL,名为Hendrix。我在测试 DSL 时遇到问题。由于它是一个 API 包装器,它需要与外部服务交互。我不确定如何在测试方面解决这个问题。我正在使用 RSpec 并尝试使用 WebMock 配置 VCR,但没有运气。如果我无法直接访问正在发出的请求,我应该如何测试这个特定场景?
这是我的spec_helper.rb
:
该项目处于早期阶段(目前正在开发 0.1.0 版)。DSL 的语法如下:
在大多数规范中,我正在测试主模块(在这种情况下Jimi.issue
等)返回的方法以及它是否采用Hashie::Mash
格式。我将如何测试这个?我不知道从哪里开始。
ruby-on-rails - 使用 VCR 和 WebMock 时如何使用正确的 URI 断言 HTTP 请求?
我正在使用 WebMock 和 VCR 测试一个 Ruby on Rails 项目。我想断言向正确的主机发出请求,但我找不到如何做到这一点的示例。这是我正在尝试做的一些伪代码:
ruby-on-rails - 如何编辑 VCR gem 返回的响应正文?
我正在使用 VCR 记录来自我正在集成的其他系统的响应。
但是,这个响应得到一个巨大的 JSON,VCR 将它保存为二进制格式:
有没有一种方法可以只将响应正文保存为 JSON?
我想这样做来编辑返回的 JSON,以便为我的测试制作其他场景,
谢谢
rspec - 根据请求 URI 在 VCR 中设置默认选项
在所有带有请求的规范中,example.com
我想忽略 URI 中关于请求匹配器的尾随 id。像这样的东西。
rspec - 如何在 rspec 中模拟 twitter 流式客户端调用?
使用 rspec 和 twitter gem https://github.com/sferik/twitter
我正在尝试找到一种解决方案,以理想地使用 VCR 之类的机制来模拟 twitter 流。显然,VCR 仅适用于 http 请求的 tcp 套接字连接。
如果这个问题太多了,任何关于在哪里存根的提示都会有帮助。
ruby-on-rails-4 - rails/VCR gem,相同的URI不同的方法冲突
我的 VCR 配置块是:
我的测试适用于post/get/put
方法,但是当我尝试时DELETE
,VCR 中存在冲突,因为它与先前的 PUT 请求匹配。这是因为该请求的 URI 与 DELETE 请求所需的 URI 相同。
如何更改我的use_cassette
方法以使其使用 URI + 方法的组合?(或任何其他建议也欢迎!)
谢谢!