问题标签 [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.
rspec - webmock 是否自动检测 `?` 在 url
我正在使用 webmock 来存根请求。我使用以下代码存根了一个请求。
我收到以下错误:-
在我使用之前它正在工作,http://...com/1741/likes
我只是在存根请求中进行了更改以添加命名空间v2.0
并且测试用例被破坏了。
ruby-on-rails - Webmock: how to fake a gzipped response?
I don't have much experience with stubbing and am having issues with requests to Braintree using webmock and braintree-rails.
spec/spec_helper.rb
spec/support/connection_helper.rb
Rspec error:
I'm trying to test the page, not the payments themselves, however when rendering the page a token needs to be retrieved first and so I'm getting this error.
How would I go about faking a gzipped response, or alternatively skip anything to do with Braintree requests in my tests?
app/controllers/posts_controller.rb
app/classes/payment.rb
ruby-on-rails - WebMock.disable_net_connect!不工作
我正在尝试编写一个WebMock
基于测试用例来模拟调用 http API。为此,我将其包含webmock/rspec
在我的spec_helper.rb
文件中,并添加WebMock.disable_net_connect!(allow_localhost: true)
了禁止通过网络的 http 请求。但是当我运行一个虚拟测试来检查 http 请求被阻塞的天气时,我可以看到仍然发出了 http 请求。
spec_helper.rb 文件:
还有我写的虚拟测试文件:
请帮助我找出我是否缺少某些配置或者我正在这样做的其他东西。
ruby-on-rails - WebMock:未定义的方法“gsub!” 使用 `stub_request` 后的 nil:NilClass
我的应用程序使用 Carrierwave + Fog 在 Amazon S3 上存储图像。我对使用 Capybara 的attach_file
助手添加文件的注册过程进行了 Rspec 功能测试。规范如下所示:
存根似乎工作正常,但由于控制器中的错误导致测试失败:
这是控制器的外观:
第 36 行if @business.save
是调用的行。使用binding.pry
,我注意到logo
属性 on@business
是nil
在第 35 行实例化之后,我猜这与对 AWS 的存根请求没有返回任何 CarrierWave 需要分配属性。不过,我不确定如何解决这个问题以使测试通过。提前感谢您的帮助!
ruby - 在 Cucumber on Ruby w/rspec 中,我如何在 Then 子句中期望/断言 webmocked 调用?
我正在编写一个充当远程 API 客户端的 gem,因此我使用 webmock 来模拟远程 API,并使用带有 rspec-mock 的 Cucumber 进行测试。
作为我的 Cucumber 测试的一部分,我打算在一个子句中存根我的 API,Given
但是我想指定在一个Then
子句中调用远程 API。
一个非常基本的例子是:
特征文件
步骤定义
问题: 如何验证我的谷歌存根已被调用?
旁注:我知道我可以使用expect(a_request(...))
orexpect(WebMock).to ...
语法,但我的感觉是我将重复我的Given
子句中定义的内容。
ruby - 在 aws-sdk 中使用 webmock 的正则表达式不起作用
我正在尝试使用带有 rspec 的 webmock 来存根对 Aws 的请求,但我似乎无法让正则表达式用于 SQS 轮询。如果我运行rspec
,webmock 会在我的 spec_helper.rb 中生成一个“正确的”存根供我在before(:each)
块中使用,如下所示:
所以在我的spec_helper.rb
我有
我尝试使用正则表达式的区域是 theSignature
和 the,X-Amz-Date
因为它们是唯一两个似乎在运行 rspec 的不同尝试之间发生变化的区域。问题是正则表达式似乎不起作用,因为即使我已将其添加到 中spec_helper.rb
,每次运行套件时,我都会从 webmock 中取回推荐的存根,而不是通过或失败的测试。根据我从 webmock 文档和几个教程中的理解,它应该在这一点上通过。我应该如何更改此设置以使 webmock 为我的测试套件针对 Aws SQS 轮询工作?几天来,我一直在用头撞我的桌子,所以非常感谢任何帮助。
ruby - 如何使用 webmock 伪造对 Capybara/poltergeist 的响应?
我正在测试一个网络爬虫,我想使用 Webmock 来提供虚假网站以加快测试速度。当我模拟一个网站时,Ruby 的原生 HTTP 库工作正常,但 Capybara 似乎无法接收模拟的响应。我知道 webmock 正在存根低级别的 HTTP 请求,我认为使用哪一个 capybara 以及配置使用哪一个 webmock 很重要。但是,我需要知道 Capybara 如何发出 HTTP 请求以及如何配置 webmock 以存根该特定方法集。
我得到的错误如下:
command': Request failed to reach server, check DNS and/or server status (Capybara::Poltergeist::StatusFailError)
我也尝试过使用 FakeWeb,但这根本无法注册 URI。如果您认为这是错误的工作工具,我愿意使用除 webmock 之外的其他 API。
提前致谢 :)
ruby - 是否可以将 WebMock 与 Rack Test 一起使用?
使用 WebMock 存根 Oauth 2 提供程序。问题是我想使用机架测试。
机架测试仅针对应用程序的一个实例运行,并且不了解 Oauth 2 提供程序等外部 HTTP 主机。
WebMock.stub_request(:get, "https://test.oauth-provider.com/oauth/authorize")
将不起作用,因为请求以/oauth/authorize
.
WebMock 有没有办法响应本地请求?例如:
regex - 使用端口范围制作 webmock
我正在使用 rspec 和 capybara ,js: true
但describe
我有一个问题:
如果我像他们说的那样存根,下一个端口是不同的:
我尝试将正则表达式添加到端口,但一直失败。
ruby - 在 webmock 中多次调用同一端点并产生不同的结果?
我有一些看起来像这样的代码:
这个想法是您可以将应用程序设置为等到服务器处于某种状态(例如,重新启动它,然后观察它直到它再次处于活动状态)
但是,我在测试中使用 webmock,我无法找到第二次给出不同响应的方法。
例如,像这样的代码:
想法是“第一次标记为非活动状态,因此循环通过一次,然后标记为活动状态”
始终将应用与请求匹配的最后声明的存根,即:
stub_request(:get, "www.example.com").to_return(:body => "abc")
stub_request(:get, "www.example.com").to_return(:body => "def")
Net::HTTP.get('www.example.com', '/') # ====> "def"
是否可以在 webmock 中对具有不同结果的同一端点的多个调用进行建模?