我处于需要模拟 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 上,以便其他人也可以使用它并改进它,但我希望我可以在不重新实现的情况下进行管理。