无服务器应用程序测试与监控指南
1. 单元测试
单元测试是对 Lambda 函数进行独立测试,尽可能隔离外部资源(如 DynamoDB、S3、Kinesis 等)。这样可以在将新更改部署到生产环境之前捕获错误,确保源代码的质量、可靠性和安全性。
在 Go 中编写单元测试,文件名必须以 _test.go 结尾,测试函数以 TestFUNCTIONNAME 为前缀。Go 自带测试包,但为了简化,我们使用第三方包 testify ,安装命令如下:
go get -u github.com/stretchr/testify
以下是一个 Lambda 函数示例,用于列出 DynamoDB 表中的所有电影:
func findAll() (events.APIGatewayProxyResponse, error) {
...
svc := dynamodb.New(cfg)
req := svc.ScanRequest(&dynamodb.ScanInput{
TableName: aws.String(os.Getenv("TABLE_NAME")),
})
res, err := req.Send()
if err != nil {
return events.APIGatewayProxyResponse{
StatusCode: http.StatusInternalSer
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



