当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 如何阻止RSpec和Capybara的外部连接?

来源:互联网 收集:自由互联 发布时间:2021-06-23
在我的Rails项目中,我想编写测试非理想条件,如缺乏互联网连接或超时.例如,我正在使用gem来联系API,并且如果我的应用程序和外部API之间存在连接问题,我希望确保正确处理错误. 我已经可
在我的Rails项目中,我想编写测试非理想条件,如缺乏互联网连接或超时.例如,我正在使用gem来联系API,并且如果我的应用程序和外部API之间存在连接问题,我希望确保正确处理错误.

我已经可以通过使用VCR制作夹具并从“盒式磁带”中删除响应来完成此操作.但是,这有缺点:

>必须手动完成.
>如果我和一个团队(我是)一起工作,那么磁带就无法被监控.

如何在我的RSpec测试中简单地创建一个块来阻止外部连接,模拟缺少互联网连接?

我从来没有试过这样做,但也许你可以使用 webmock来删除所有请求.

before do 
  stub_request(:any, /.*/).to_return(body: "errors", status: 422)
end

More info关于存根外部服务.

网友评论