Я нахожусь в ситуации, когда мне нужно смоделировать огромные части пакетов Lambda, API Gateway и S3 SDK для модульного тестирования.
Сначала я думал, что это не будет плохой идеей, но сейчаснеобходимость реализовать некоторое хранение данных в памяти и имитировать всю логику AWS для этих сервисов кажется невозможной (или, по крайней мере, очень трудоемкой).
Так что в основном моя mock-реализация выглядит примерно так
package awsmock
type Lambda struct {
lambda.Lambda
data map[string]*LambdaFunction
}
func (svc *Lambda) CreateFunction(...) (...) {
// mimic the AWS logic but save to svc.data
}
// etc
Есть ли какой-нибудь лучший способ подумать о том, чтобы дразнить AWS SDK?Если нет, я мог бы написать библиотеку и опубликовать ее на Github, чтобы другие могли ее использовать и улучшить, но я надеюсь, что справлюсь, не реализовав это.