在Golang中模拟AWS开发工具包?

时间:2019-02-25 18:18:33

标签: amazon-web-services go mocking aws-sdk aws-sdk-go

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

0 个答案:

没有答案