如果 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
我在 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