меня сервисы без особой бизнес логики: получают хттп запросы от юзеров, минимально обрабатывают и отправляют во всякие AWS сервисы, иногда что-то возвращают. Вот имеет ли смысл делать юнит тесты с эмулацией запросов от юзеров и созданием фейковых сервисов AWS? или стоит использовать реальные AWS сервисы? или такие вещи тестируются "со стороны"(функциональными тестами?)? вообще потом оно должно в CI тестироваться.
такое впечатление, что недавно наняли команду какого-то одного сервиса с AWS. Буквально только вчера 2 человека аналогичные вопросы задавали. Имхо, выжимка такова: - в юнит-тестах должны быть моки клиента, они конечно нужны. У AWS есть такие моки из коробки - по интеграционным тестам мнение разделилось - можно также использовать моки клиента, а можно поднимать моки AWS, например этим - https://github.com/ceph/go_s3tests Интеграционные тесты должны тестировать интеграцию по возможности с реальным сервисом, но иногда это сложно и затратно, поэтому тут каждый для себя определяет компромисс.
получается, это нормально если в CI будут запускаться интеграционные тесты, которые будут ходить в реальные AWS сервисы? это не антипаттерн?
Само окружение где проект запущен может быть в клауде, например одноразовый k8s кластер может подниматься, это норма, но стоит денег.
примерно так и есть
Обсуждают сегодня