使用 CDK v 探索 AWS 无服务器部署从 RSS 到 X Posts - Odyssey 的一部分
欢迎来到“使用 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 函数。
资源
以上就是使用 CDK v 探索 AWS 无服务器部署从 RSS 到 X Posts - Odyssey 的一部分的详细内容,更多请关注php中文网其它相关文章!