Я начинаю учить себя разработке без сервера, используя AWS Lambda и CLI без сервера. Пока все идет отлично. Однако у меня есть проблема с приемочным тестированием.
Пока я делаю следующее:
- Развертывание стека в AWS с сгенерированным сценическим именем - я используюидентификатор задания CI для этого
- Запустить все тесты для этого развертывания
- Удалить развертывание
- Развернуть стек в AWS с именем этапа "Dev"
Это нормально, пока мне не понадобятся некоторые данные.
Тестировать конечные точки без данных легко - это состояние по умолчанию. Таким образом, я могу проверить, что GET /users/badid
возвращает 404.
Какой типичный способ настройки тестовых данных для тестов?
В моей обычной разработке я делаю это, запуская полный стек - пользовательский интерфейс, службы, базы данных - в локальном стеке составления докеров, и тесты могут напрямую с ними общаться. Это процесс, которому нужно следовать здесь: тесты общаются напрямую с различными хранилищами данных AWS? Если да, то как вы обрабатываете несколько таблиц (DynamoDB) в разных стеках CF, например, для тестирования интерфейса?
Если это не обычный способ, что?
Кроме того,Есть ли стандартный способ очистки данных между тестами? Я не могу безопасно проверить конечную точку поиска, если данные не постоянны для этого теста, например. (Если данные не очищены, данные в системе будут зависеть от порядка выполнения тестов, что плохо)
Cheers