首页 > 解决方案 > 在 Golang 中模拟 AWS 开发工具包?

问题描述

我处于需要模拟 Lambda、API Gateway 和 S3 SDK 包的元素以进行单元测试的情况。

我最初认为这不是一个坏主意,但现在必须实现一些内存数据存储并模拟这些服务的整个 AWS 逻辑似乎是不可能的(或者至少真的很耗时)。

所以基本上我的模拟实现看起来像这样

package awsmock

type Lambda struct {
    lambda.Lambda
    data map[string]*LambdaFunction
}

func (svc *Lambda) CreateFunction(...) (...) {
    // mimic the AWS logic but save to svc.data
}

// etc

在模拟 AWS 开发工具包时,您能想到什么更好的方法吗?如果没有,我可以编写一个库并将其发布在 Github 上,以便其他人也可以使用它并改进它,但我希望我可以在不重新实现的情况下进行管理。

标签: amazon-web-servicesgomockingaws-sdkaws-sdk-go

解决方案


推荐阅读