【问题标题】:Fake EC2 endpoint for testing用于测试的假 EC2 端点
【发布时间】:2012-12-12 18:07:33
【问题描述】:

是否有实现“假 Amazon EC2”端点的开源软件包?具体来说,可用于针对与 EC2 通信的客户端进行测试(特别是使用 boto)?

我知道有几种实现 EC2 API 的开源云解决方案(例如,OpenStack、Eucalyptus、CloudStack),但我正在寻找可以快速启动假 EC2 服务器并配置它的东西用于测试目的的预设回复。

【问题讨论】:

  • 这不是 EC2 特有的,所以也不是完全的答案,但在 Ruby 中,我会使用 webmock 来解决这个问题 - 一个工具拦截从您的应用程序发出的 HTTP 请求,允许您的测试套件返回任意响应。 Python 的 HTTPretty 似乎以类似的方式运行。
  • @willglynn 我真的在寻找一个独立的测试应用程序,而不是在我的应用程序中进行猴子修补。此外,我希望能够利用其他人对 EC2 API 的重新实现,而不是从规范开始。
  • 使用 webmock/HTTPretty,您无需对任何东西进行猴子补丁 - 就您的应用而言,您正在与远程端点对话。所有的黑客行为都发生在上游库中,您只需指定哪些请求应该收到哪些响应。 Ruby 还具有 VCR,它可以轻松记录和回放与测试套件中远程 API 的交互。
  • @LorinHochstein,我认为不存在这样的服务。使用微型实例进行测试 - 它很便宜。

标签: testing amazon-ec2 mocking boto


【解决方案1】:

您可能想查看moto。它基本上使用 HTTPretty 来模拟 boto 本身来模拟 HTTP 层。它做得很好,看起来真的很有用。

【讨论】:

    【解决方案2】:

    Eucalyptus 已经运行了多年的社区云,可在 http://www.eucalyptus.com/eucalyptus-cloud/community-cloud 免费获得 - 如果您想模拟不同的 EC2 API 响应,它将无法工作(需要注意的是,Eucalyptus API 没有'不要完全遵循 EC2 API,尤其是在他们如何设置不同的字段方面)——如果你真的想用真实的 EC2 响应进行测试,模拟你对 Boto 的调用似乎是最好的选择

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多