ruby – 如何模拟aws-sdk gem?

栏目: Ruby · 发布时间: 7年前

内容简介:我有一些代码使用aws-sdk gem将文件上传到Amazon S3.显然它会上传一个HTTP来上传文件.有没有一种很好的方法来模拟aws-sdk gem的这个功能?我尝试使用Webmock,但aws-sdk gem似乎首先获得最新的/ meta-data / iam / security-credentials /.似乎使用Webmock可能不是模拟此功能的最佳方式.

我有一些代码使用aws-sdk gem将文件上传到Amazon S3.显然它会上传一个HTTP来上传文件.

有没有一种很好的方法来模拟aws-sdk gem的这个功能?

我尝试使用Webmock,但aws-sdk gem似乎首先获得最新的/ meta-data / iam / security-credentials /.似乎使用Webmock可能不是模拟此功能的最佳方式.

在RSpec工作.

AWS SDK for Ruby 中有很多模拟请求的方法.Trevor Rowe最近发布了一篇关于使用SDK对 object stubbing 的本机支持的文章,该文章不需要像Webmock那样的任何外部依赖.您还可以使用像 VCR 这样的工具(链接会将您发送到另一篇博客文章)来构建可缓存的集成测试;这样,您可以在需要准确性时测试实时服务,并在需要速度时避免命中网络.

关于对最新/元数据/ iam / security-credentials /的get请求,这是因为SDK正在尝试查找凭据,如果没有提供,它将检查您是否在EC2实例上运行最后的办法,导致SDK发出额外的HTTP请求.您可以通过简单地提供虚假静态凭证来避免此检查,但如果您使用的是VCR,则需要为第一次运行提供有效凭据.您可以阅读有关如何提供静态凭据 in another blog post that Trevor wrote on credential management (这也应该在开发人员指南和SDK文档中).

翻译自:https://stackoverflow.com/questions/16380426/how-to-mock-aws-sdk-gem


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

《Hello Ruby:儿童编程大冒险》(平装)

《Hello Ruby:儿童编程大冒险》(平装)

(芬兰)琳达·刘卡斯 / 窝牛妈 / 浙江人民美术出版社 / 2018

快来认识Ruby——一个想象力丰富,喜欢解决难题的女生。Ruby认识了一群新朋友:聪明的雪豹、友好的狐狸、忙碌的机器人等等。这本书以讲故事的方式向孩子们介绍了基础的计算思维,比如拆分问题,制定分步计划,寻找规律,打破思维定势等等;之后,通过一系列鼓励探索和创造的练习和活动,孩子们对这些关乎编程核心问题的基本概念有了进一步的理解。一起来看看 《《Hello Ruby:儿童编程大冒险》(平装)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试