所以我的应用程序堆栈在产品中看起来像这样:
- 后端:AWS API Gateway + Lambda + DynamoDB + ElastiCache(redis)
- 后端 - 算法:长时间运行的进程 - 在 ECS (Fargate) 上运行的 dockerized Java 应用程序
- 前端:Angular 应用,由 S3 提供
我想使用https://www.cypress.io/进行端到端测试,我想使用https://circleci.com/作为我的构建服务器。
如何创建一个允许端到端测试运行的环境?
选项:
1) 每次运行端到端测试时,使用 Terraform 编写基础架构脚本并创建/拆除整个环境。就启动时间而言,这听起来像是一个巨大的开销。此外,完全脚本化的环境创建和设置听起来需要做很多工作!
2) 创建一个专用的、长期存在的环境,我们将逐步部署到该环境中。这听起来会变得一团糟——对于运行测试的地方来说并不理想。
3)制作它,以便我们可以在本地运行环境。所以也许使用 AWS 的SAM或类似这个项目的东西https://github.com/gertjvr/serverless-plugin-simulate
最后一个选项也可以回答本地开发环境设置的问题,但是在本地模拟无服务器技术的所有东西似乎都处于测试阶段,我担心如果我沿着这条路走下去,我可能会在投入大量时间后遇到一些问题。 ...