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