首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在机架测试中使用WebMock?

是否可以在机架测试中使用WebMock?
EN

Stack Overflow用户
提问于 2015-08-21 02:29:51
回答 1查看 229关注 0票数 1

使用WebMock存根OAUTH2提供程序。问题是我想使用Rack Test。

机架测试仅针对应用程序的实例运行,并且不知道Oauth 2提供程序等外部HTTP主机。

因为请求是以/oauth/authorize的形式发送给应用程序的,所以WebMock.stub_request(:get, "https://test.oauth-provider.com/oauth/authorize")将无法工作。

WebMock有没有办法响应本地请求?例如:

代码语言:javascript
复制
WebMock.stub_request(:get, "/oauth/authorize")
EN

回答 1

Stack Overflow用户

发布于 2015-08-21 13:15:07

在我看来,你对你正在测试的东西有点困惑,必须明确你的系统在哪里(所谓的SuT,被测系统)和外部各方在哪里。

这一点非常重要,因为:

您将在测试期间与

  • SuT进行交互(即,您的机架web参与方将被模拟(即,外部web服务,以及...可能令人惊讶的是,其他库,如OAuth、SQL驱动程序等)

这意味着,如果您试图在应用程序的任何部分使用WebMock (由于有关模拟相对URL的问题,看起来您正在做的事情),那么您显然做错了什么。

更接近你的任务,如果我是你,我会:

  1. 选择一个良好的、经过良好测试的OAuth库并将其放入应用程序中。
  2. 当涉及到测试时,只需使用我自己的简单存根对象,而不是真正的OAuth实现类。这将把重点转移到测试我的服务实现的行为上。验证OAuth库实际上是一项双重工作,因为它的作者已经介绍了它。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32125731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档