В нашем стеке нет конструкции 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.
Ресурсы
Добро пожаловать в третью часть статьи «Изучение бессерверных развертываний 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.
Ресурсы
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3