我们的堆栈中没有SQS构造,但回顾示例测试可以在一定程度上了解如何测试构造。让我们删除自动生成的示例测试并创建我们自己的测试。
设置测试功能
首先,让我们创建一个可重用的函数来从堆栈中获取 CloudFormation 模板:
测试 DynamoDB 表属性
我们将首先添加一个测试来检查堆栈中的 DynamoDB 表是否具有正确的属性。操作方法如下:
测试 Lambda 函数
接下来,让我们确保我们的堆栈创建正确数量的 Lambda 函数并验证其运行时版本:
运行测试
要运行测试,您可以在终端中执行pytest:
pytest
以下是您应该收到的输出:
================================================================================= test session starts =================================================================================platform darwin -- Python 3.12.4, pytest-8.1.1, pluggy-1.4.0rootdir: /Users/adrian/Developer/Projects/rss-lambda-ddb-socialshareplugins: typeguard-2.13.3collected 2 items tests/unit/test_rss_lambda_ddb_socialshare_stack.py .. [100%]================================================================================= 2 passed in 21.86s ==================================================================================
结论
在我们系列的第 3 部分中,我们学习了如何测试我们的 CDK 构造。在最后一部分中,我们将探讨如何在本地测试 Lambda 函数。
资源
欢迎阅读“使用 CDK v2 探索 AWS 无服务器部署”的第 3 部分。首先,我要感谢您的耐心等待,因为自第 2 部分以来一直存在一些差距。我在工作中深入研究和从事无服务器项目,这让我无法继续工作,但我很高兴能回到正轨并继续我们的探索。
在之前的文章中,我们定义了我们的构造并将其部署到 AWS。今天,我们将重点关注一个基本实践:测试。正确的测试可确保我们的部署按预期工作,并可以使我们避免潜在的问题。
开始测试
首先,您需要将 pytest 添加到项目的依赖项(我们堆栈的主 requirements.txt 文件)。
pip install -r requirements.txt
在我们的项目中,导航到 test 目录,然后导航到 unit 并打开 test_rss_lambda_ddb_socialshare_stack.py 文件。此自动生成的测试文件包含一个示例测试。
我们的堆栈中没有SQS构造,但回顾示例测试可以在一定程度上了解如何测试构造。让我们删除自动生成的示例测试并创建我们自己的测试。
设置测试功能
首先,让我们创建一个可重用的函数来从堆栈中获取 CloudFormation 模板:
测试 DynamoDB 表属性
我们将首先添加一个测试来检查堆栈中的 DynamoDB 表是否具有正确的属性。操作方法如下:
测试 Lambda 函数
接下来,让我们确保我们的堆栈创建正确数量的 Lambda 函数并验证其运行时版本:
运行测试
要运行测试,您可以在终端中执行pytest:
pytest
以下是您应该收到的输出:
================================================================================= test session starts ================================================================================= platform darwin -- Python 3.12.4, pytest-8.1.1, pluggy-1.4.0 rootdir: /Users/adrian/Developer/Projects/rss-lambda-ddb-socialshare plugins: typeguard-2.13.3 collected 2 items tests/unit/test_rss_lambda_ddb_socialshare_stack.py .. [100%] ================================================================================= 2 passed in 21.86s ==================================================================================
结论
在我们系列的第 3 部分中,我们学习了如何测试我们的 CDK 构造。在最后一部分中,我们将探讨如何在本地测试 Lambda 函数。
资源
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3