问题标签 [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.
ruby-on-rails - RSpec before suite not being run
I'm trying to stub any external API calls in my test suite, but the before(:suite) is never executed. Webmock always reports that I need to stub the maps.googleapis.com even though no tests have been run yet (no green dots, no red Fs).
spec_helper.rb:
The geocoder gem ends up trying to save the lat/lon from googleapis.com and an error is raised by Webmock saying that the URL is unregistered.
EDIT: Error snippet:
Again, I'll stress that this has to do with the fact that the code in the config.before(:each) block is never run. Why? Because if it was, I could "raise 'WTF'" and 'WTF' should appear in the console output instead of the error you see above. I only see 'WTF' when I "un-bundle" the Webmock gem.
ruby-on-rails - 带有任何正文和标头的 Webmock 存根请求
如何使用 Webmock 对任何正文和标头的请求进行存根?我尝试使用正则表达式
在 rspec 但它不起作用,它有
ruby-on-rails - 为什么我的 rspec 测试自行通过,但在我运行特定测试时失败?
当我运行 rspec 运行所有测试时,它们都通过了,但是当我给出特定的文件名时,它会失败。
我已经对它进行了嘲笑和存根,为什么它会失败?我唯一能看到的是现有存根是“/test/”,请求是“/default/”。那是怎么改变的?
好的,我在另一个规范上再次遇到了这个问题。这是规范: https ://gist.github.com/starrychloe/1d79d9925f9b79ae5c01
我确实找到了这个 solr/solr.xml
就像 rspec 在生产环境中运行一样,即使我明确给出了环境
我认为这是一个 rspec 问题。rspec -v
:版本 2.14.7。
ruby-on-rails - 如何从其他 gem 发出 webmock 块/存根外部请求?
我正在尝试使用 webmocks 来测试与外部服务交互的应用程序的一部分。然而,所有的 API 调用实际上都发生在另一个 gem 中。因此,即使我启用了 webmock,它也会继续发出请求。
这被正确阻止并需要模拟:
但是包含针对 gem 的 API 请求的测试,应该调用外部服务不是。
知道如何进行该测试也需要模拟吗?
ruby-on-rails - 在模块规范上编写 webmock 存根
我的问题是我正在创建一个包装器来处理与外部服务器(GeoNetwork)的连接并处理它的响应。
虽然我的搜索控制器中有我的请求,但它工作正常。然后我尝试为包装器遵循这个解决方案:
http://code.tutsplus.com/articles/writing-an-api-wrapper-in-ruby-with-tdd--net-23875
但是现在,我在 webmock 上有一个错误,我不知道为什么。
../lib/wrapper/api.rb
../spec/lib/api_spec.rb
../spec/spec_helper.rb
我得到的错误是:
ruby - 带有 Webmock 的 VCR 错误地存根 Typhoeus(nil:NilClass 的未定义方法 `>=')
我想要什么:每次运行测试时调用外部 API 以返回相同的东西我得到了什么:第一次 VCR 保存它,第二次 Typhoeus 返回错误
发生的情况是我运行一次测试,它发出实际请求(当我创建组织和用户时发生),然后当我再次运行它时,它无法正确解析请求。
第一次运行:
以下所有运行,直到我删除磁带:
这可以追溯到这些行(来自我使用的私人宝石)
版本:
- 录像机 (2.9.0)
- 网络模型 (1.18.9)
- 台风 (0.6.8)
设置:
测试:
ruby-on-rails - 如何在 WebMock 的测试中从请求的 URL 中提取参数?
我正在尝试为调用外部 API 的模型编写测试。是否可以使用 WebMock 从 URL 中提取参数?
例如,我想匹配任何这样的 URL:
http://test.com?id=# {number}&id2=#{number2}
#{number} 和 #{number2} 是正则表达式。到这里为止,这可以使用 WebMock,如此处所述: https ://github.com/bblimke/webmock#matching-uris-using-regular-expressions
我的问题是我需要知道请求中的“number”和“number2”是什么,才能在测试中使用它们。有没有办法做到这一点?
如果有 WebMock 的替代品,请随时提出建议。
编辑:一些额外的细节:
假设我有一个测试可以测试一个调用外部 API 的函数,我知道它将使用 URL 中的一些参数调用它,但我不知道它将采用的值,所以我这样做:
ruby - 为什么在使用 WebMock 模拟 Stripe 时会出现“没有将哈希隐式转换为字符串”
我正在尝试像这样模拟 Stripe:
no implicit conversion of Hash into String
我打电话时遇到错误:
body
这是因为 in中的哈希to_return
,但我不知道如何避免该错误。
如果我添加.to_s
到哈希中,我会得到:
来自 API 的无效响应对象:"{\"id\"=>\"tok_14CgP22eZvKYlo2CkgJ6ymLE\", \"livemode\"=>false, \"created\"=>1404517660, \"used\"=>false, \" object\"=>\"token\", \"type\"=>\"card\", \"card\"=>{\"id\"=>\"card_14CgP22eZvKYlo2CcdUNvicW\", \"object\" =>\"card\", \"last4\"=>\"4242\", \"brand\"=>\"Visa\", \"funding\"=>\"credit\", \"exp_month \"=>12, \"exp_year\"=>2018, \"fingerprint\"=>\"Xt5EWLLDS7FJjR1c\", \"country\"=>\"US\"}}"(HTTP 响应代码为 200)
如果我.to_json
在末尾添加 a ,则Stripe::Token
通过,stack error too deep
但当我尝试以token
任何方式使用结果时出现错误。
你有什么建议吗?
ruby-on-rails-3 - 带有 rspec 的 Rails 测试中的 Stub XMLRPC::Client 调用
我正在尝试在 Rails 中的 rspec 测试中存根 XMLRPC::Client.call。
这是我的方法:
这是我的测试:
我收到此错误:
如果我在存根中使用空响应体,我会得到:
This Using webmock to mock XMLRPC client in rspec-rails对我也不起作用。
任何帮助深表感谢。谢谢!
ruby-on-rails - 使用 rspec 测试 oauth2 get_token
我正在为 oauth2 身份验证的 get_token 部分创建控制器规范。此时用户已授权我的应用程序,我需要生成并保存令牌和其他信息。Rspec 失败并出现一个有点神秘的错误。
这是控制器代码。Rspec 说它在 get_token 上失败。
这是测试。webmock 应该拦截 get_token。它是 rspec 建议的自动生成的 webmock,我用适当的请求和响应正文填充了正文。
这个过程已经在实践中起作用,所以至少控制器代码不应该受到责备。我究竟做错了什么?