Я знаю, что вы выбрали SAM cli для создания своих шаблонов, но я бы посоветовал вам перейти на Serverless (npm i serverless -g), поскольку они более продвинутые. Бессерверная среда - это платформа, созданная инженерами и не имеющая подключенного / зависимого от нее облачного провайдера, поэтому вы сможете легко переключиться с Azure на AWS из своего шаблона.
Поскольку он поддерживается большим сообществом разработчиков, фреймворк имеет множество плагинов, в том числе бессерверный автономный плагин, который позволит вам запускать ваш API локально, как если бы вы просто запускали node index.js
. Существуют также плагины, такие как «serverless-jest» или «serverless-mocha» для модульных тестов, но я закончил тем, что использовал обычный запускаемый интеграционный тест «Jest» (я использую пул пользователей когнито и мне нужно проверить токен аутентификации).
Если вы действительно хотите протестировать свой код облачной информационной архитектуры, у вас может быть JS-файл с вашей функцией и запускать его с помощью узла локально, и вместо того, чтобы иметь код в вашем шаблоне облачной информации, вам нужно будет заархивировать ip, загрузить на S3, а затем укажите путь в вашем шаблоне.
Таким образом, я знаю, что вы спрашивали, как протестировать свой SAM Serverless, но поскольку вы хотели бы иметь надлежащий поток разработки (локальное выполнение, модульное тестирование, конвейер и т. Д.), Переход на бессерверную структуру был бы решением. Вы можете моделировать функции через узел, но это расширит ваше ручное управление тем, что уже делает фреймворк.
person
Cleriston
schedule
28.05.2019
Option 1
. Но надеюсь, что смогу найти лучший вариант, чем этот :) - person Private   schedule 07.03.2019export
. У SAM local пока все в порядке .. - person Private   schedule 08.03.2019