В нашем стеке нет конструкции SQS, но рассмотрение примера теста дает некоторое представление о том, как тестировать конструкцию. Давайте удалим автоматически сгенерированный пример теста и создадим наш собственный тест.

Настройка функции тестирования

Во-первых, давайте создадим повторно используемую функцию для получения шаблона CloudFormation из стека:

Тестирование свойств таблицы DynamoDB

Начнем с добавления теста, который проверит, что таблица DynamoDB в нашем стеке имеет правильные свойства. Вот как это сделать:

Тестирование лямбда-функций

Далее давайте убедимся, что наш стек создает правильное количество функций 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 ==================================================================================

Заключение

В третьей части нашей серии мы узнали, как тестировать конструкции CDK. В последней части мы рассмотрим, как локально тестировать функции Lambda.

Ресурсы

","image":"http://www.luping.net/uploads/20240815/172369836366bd8cbb7a11d.jpg","datePublished":"2024-08-15T13:06:03+08:00","dateModified":"2024-08-15T13:06:03+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Изучение бессерверных развертываний AWS с помощью CDK vFrom RSS to X Posts — Часть Одиссеи

Изучение бессерверных развертываний AWS с помощью CDK vFrom RSS to X Posts — Часть Одиссеи

Опубликовано 15 августа 2024 г.
Просматривать:153

Exploring AWS Serverless Deployments with CDK vFrom RSS to X Posts - Part f the Odyssey

Добро пожаловать в третью часть статьи «Изучение бессерверных развертываний AWS с помощью CDK v2». Во-первых, я хотел бы поблагодарить вас за ваше терпение, так как после части 2 произошел небольшой пробел. На работе я глубоко углубился в изучение и работу над бессерверными проектами, что удерживало меня в стороне, но я очень рад вернуться в нужное русло. и продолжим наше исследование.

В предыдущих публикациях мы определили наши конструкции и развернули их на AWS. Сегодня мы сосредоточимся на важной практике: тестировании. Правильное тестирование гарантирует, что наши развертывания работают должным образом, и может уберечь нас от потенциальных проблем.

Начало тестирования

Для начала вам нужно добавить pytest в зависимости вашего проекта (основной файл requirements.txt для нашего стека).

pip install -r requirements.txt

В нашем проекте перейдите в каталог test, затем unit и откройте файл test_rss_lambda_ddb_socialshare_stack.py. Этот автоматически созданный тестовый файл содержит пример теста.

В нашем стеке нет конструкции SQS, но рассмотрение примера теста дает некоторое представление о том, как тестировать конструкцию. Давайте удалим автоматически сгенерированный пример теста и создадим наш собственный тест.

Настройка функции тестирования

Во-первых, давайте создадим повторно используемую функцию для получения шаблона CloudFormation из стека:

Тестирование свойств таблицы DynamoDB

Начнем с добавления теста, который проверит, что таблица DynamoDB в нашем стеке имеет правильные свойства. Вот как это сделать:

Тестирование лямбда-функций

Далее давайте убедимся, что наш стек создает правильное количество функций 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 ==================================================================================

Заключение

В третьей части нашей серии мы узнали, как тестировать конструкции CDK. В последней части мы рассмотрим, как локально тестировать функции Lambda.

Ресурсы

  • Пайтест
  • Конструкции тестирования
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/aws-builders/exploring-aws-serverless-deployments-with-cdk-v2-from-rss-to-x-posts-part-3-of-the-. odyssey- 56c3?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3