如果 AWS lambda 函数中的测试用例 运行 失败,如何获取电子邮件

How to get email if test case run in AWS lambda function fails

我在 AWS Lambda 中执行了以下测试用例。如果任何测试用例未通过,我想收到电子邮件警报。

为此,我创建了一个云监视警报,如果此 Lambda 错误指标的错误 >=1(我指的是 link),它会触发 SNS 向我发送电子邮件。但是我从来没有像预期的那样收到电子邮件,因为即使测试用例失败,lambda 函数本身也会正确执行。只有当我在 lambda 函数中写错字时,我才会收到电子邮件警报。我当然不想那样写代码。

那么,如果有任何测试用例未通过,我如何收到电子邮件?

import unittest

def test_case_pass(self):
    self.assertTrue(True)

def test_case_notpass(self):
    self.assertTrue(False)

如果测试失败,您可以从 Lambda 发布到 SNS。

import boto3
sns = boto3.client('sns')
# Do tests
# If test fails
    sns.publish(TopicArn='topicarn', Message='something went wrong' )

此处有相关的 Boto 3 文档:http://boto3.readthedocs.io/en/latest/reference/services/sns.html#SNS.Client.publish