我在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)
答案 0 :(得分:1)
如果测试失败,您可以从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