首页 > 解决方案 > 如何在moto中模拟sqs_client.send_message响应

问题描述

嗨,我有一个代码在 SQS 未收到消息时引发异常,由响应字典键“MD5OfMessageBody”标识

我正在使用 moto 为其编写单元测试。但是,我无法控制它的响应来测试异常。你们中有人知道我该如何测试这部分吗?

它是这样的:

        response = self.__sqs_client.send_message(
            QueueUrl=self.__queue_url,
            MessageAttributes=message_attributes,
            MessageGroupId=SQS_MESSAGE_GROUP,
            MessageBody='some body'
        )

        if response.get('MD5OfMessageBody') is None:
            raise RuntimeError(f'Failed to send message to queue: {response}.')

当我使用 moto 时,如何测试MD5OfMessageBodyNone 的部分,即我的单元测试用@mock_sqs 装饰

任何输入表示赞赏!

标签: python-3.xunit-testingamazon-sqsmoto

解决方案


推荐阅读