问题标签 [webmock]
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.
google-maps - 查询谷歌地图 api 时 curl 不管道到文件
我正在开发一个使用地理编码器 gem 从地址生成位置信息的 ruby 应用程序。我正在尝试在测试期间使用 webmock 来存根对 api 的调用。
Webmock 可以选择从文件创建模拟响应,并解释如何重放记录的响应curl -is
https://github.com/bblimke/webmock#replaying-raw-responses-recorded-with-curl--是
我之前已经让它与不同的 url 一起工作,但在尝试使用以下命令时却没有。
curl -是http://maps.googleapis.com/maps/api/geocode/json?address=Falmouth,%20Cornwall&language=en&sensor=false > other.txt
当我运行上述命令时,我想要的所有数据都正确输出到终端,但根本没有写入文件。我已经尝试了该--no-keepalive
选项,但这并不能解决它
ruby-on-rails - 运行测试时从标准输出中删除 VCR/Webmock 日志
在标准 Rails 3.2.19 项目中,使用 RSpec 运行测试时,我在使用 VCR 磁带时在标准输出上获取这些日志:
我怎样才能让这些转到 log/test.log 呢?
ruby - 存根 HTTP 请求的目的是什么(例如使用 WebMock gem)?
作为前身仅供参考,我是一个崭露头角的开发人员。我正在尝试为 Ruby gem 的 http POST 方法编写测试。据我所知,当您存根 http 响应时,例如使用 Ruby WebMock gem,您基本上是在告诉它要发布什么,然后人为地告诉它要响应什么。例如,这是我要测试的代码:
当我写时,我的 RSpec 测试失败:
Githubrepo.create(:repository => 'test', :username => 'test_user', :password => '1234')
因为它发出了一个真正的 HTTP 请求。它建议我改为执行以下操作:
但对我来说,这似乎毫无意义,因为它基本上是在告诉发送什么以及响应什么。我可以编辑 URL to say"https://bananas@git-banana.banana"
和header
to sayContent-type => 'Rumplestilskin'
并且 RSpec 可以。我应该如何将其集成到测试create
我上面指定的方法的功能中?或者,如果有的话,有人可以指点我一个可靠的初学者指南或博客来帮助我解决这个问题吗?Ruby gem READMEs 似乎假设用户已经知道一两件事,而我不知道。
ruby - 您如何使用 VCR 和 Webmock 以基本身份验证存根发布请求?
免责声明:我是 API 新手,在尝试解决这个看似简单的问题一周后,我已经迷失了方向。
我有与已正确实现的 Github API 交互的代码,但我想返回并使用 RSpec、Webmock 和 VCR 对其进行测试。
基本上,我有一个#create
方法可以让用户在 Github 上创建一个新的存储库。
这是该方法的代码:
def self.create(属性)
这一切所做的就是POST
使用给定的某些属性发出实际请求,并将发布的信息存储到一个名为的变量post
中,然后将其作为属性传递给另一个方法#parse_response_from
。这种#parse_response_from
方法是我想测试的,但我一生都无法理解如何post
用 Webmock 和 VCR 模拟属性。
这就是我需要模仿的 post 变量在生产中的样子:
基本上,我真正需要从这个散列中传递一些变量到#parse_response_from
方法中。我现在测试的方式只是将某些静态键/值对存储到 before 块中并测试该代码。看一下:
如何使用 Webmock 将其存根stub_request
并将其传递到 VCR 磁带?我已经看到了很多存根的示例GET
,但我不明白如何使用 Webmock 为POST
. 具体来说,我需要了解如何从 Webmock 存根返回post
变量中显示的数据。
我正在寻找一个特定的示例或半示例来指导我朝着正确的方向前进,而不是建议在其他地方查看某些文档,因为我将再次绕圈运行。
ruby - WebMock 模拟失败的 API(没有互联网,超时 ++)
我正在尝试使用 webmock 模拟来自 web api 的意外行为,例如找不到服务器和超时。
最好的方法是什么?我能想到的就是做这样的事情:
这应该适用于 404 等,但我如何测试超时、找不到服务器/离线服务器和没有互联网连接?
ruby-on-rails - Rails:如何存根和测试这个外部服务调用?
您好,我在 rails 模型中有类似以下代码:
这是测试:
如何在测试期间有效地存根外部服务而不调用它?
ruby-on-rails - 无法为伪造的 Braintree 存根外部请求
我有一个控制器测试,我正在测试一种方法,该方法也尝试使用 Braintree 处理付款。我尝试将假 Braintree 添加到项目中,但是当我运行测试时,webmock 告诉我我需要存根这个请求:
由于端口号不同,我在 stub_request 中为 url 参数使用正则表达式:
不幸的是,当我运行测试时,我仍然收到来自 webmock 的消息,说我需要存根请求。
ruby-on-rails - 使用 WebMock 时遇到问题,无法正确存根
Ruby 1.9.3、RSpec 2.13.0、WebMock 1.17.4、Rails 3
我正在为公司应用程序编写测试。有问题的控制器显示客户已拨电话的表格,并允许排序/过滤选项。
编辑测试失败,因为我当前的设置,路径没有呈现,因为recorder_server
要么没有在本地运行,要么没有正确设置。也请帮忙。
- 调用时,其数据加入一个 xml 文件,该文件由名为Recorder的外部 API 创建
- RecordingsController获取 xml 文件,并将其解析为哈希。
- 当您访问关联的路径时,您会看到散列的结果——已发出调用、它们的属性和用于排序/过滤的参数的表。
到目前为止,这是我的规格。
这是 RecordingsController
非常感谢任何和所有建议。谢谢你。
ruby-on-rails - 带有 webmock 的 VCR 阻止了我的 rspec
我的录像机与 webmock 规范有问题。当我运行 rspec spec/ 时,我总是遇到同样的问题
我试图解决这个问题:
将 c.ignore_localhost = true 添加到我的 vcr 配置中
将此代码添加到我的 rails_helper.rb
需要 'webmock/cucumber' WebMock.disable_net_connect!(:allow_localhost => true)
我尝试删除我使用 vcr 的所有测试,然后运行 rspec spec/ 但仍然出现此错误
这个错误告诉我我可以存根这个请求,但我该怎么做呢?
知道如何解决此错误吗?
ruby - 如何测试请求之间的延迟?
首先,大局。我正在编写一个sinatra
基于 - 的网络应用程序。它要做的一件事是确定用户的出生年份。为此,它与其他应用程序交互。它首先询问用户的数据,例如名字、姓氏、性别、生日(月份和日期)等等。然后使用所有这些数据加上某年(2015 年、2014 年等)发出搜索请求。如果它得到这个特定用户的响应,那么那一年就是他的出生年份。
测试它的简单方法是简单地确保sleep
至少调用一次,如下所示:
任何更彻底的测试似乎都很麻烦。上面的测试就够了吗?如果没有,如何测试这种特殊行为?
PSruby
也欢迎其他语言的答案,以及与语言无关的答案。