我有一个应用程序连接到 API 并在数据库中执行一些写入和读取操作。创建集成测试套件时,我创建一个空数据库,并为每个测试创建架构(镜像生产数据库),添加测试所需的数据,执行测试,最后清理所有内容。这种方法在一段时间内运作良好,但当开发人员运行测试时会出现问题,导致测试创建或删除其他开发人员在测试运行中使用的数据。我该如何解决这个问题?我应该创建一个锁来访问测试数据库吗?我应该为每个测试创建一个新数据库吗?
应用程序堆栈:Streamlit - API 网关 - AWS Lambda - 在 AWS RDS 上运行的 MySQL。
更多信息:运行测试时,它们是使用更改 API 端点的环境变量执行的。因此,应用程序使用的数据库连接直接指向测试数据库。测试、开发和生产数据库的参数存储在 AWS Secrets Manager 中
当然!在单独的数据库设置中处理测试干扰可能很棘手,但有一些实用的方法可以处理它:
选择最适合您需求的方法来维护整洁的测试和管理良好的数据库!