Python 在MySQL数据库上运行单元/集成测试的最佳方法是什么?
我正在为脚本中的一系列函数编写所谓的单元测试(但可能是集成测试),该脚本主要使用SQLAlchemy在MySQL数据库上执行insert/delete/update查询 目前,我的测试运行如下:Python 在MySQL数据库上运行单元/集成测试的最佳方法是什么?,python,mysql,pytest,Python,Mysql,Pytest,我正在为脚本中的一系列函数编写所谓的单元测试(但可能是集成测试),该脚本主要使用SQLAlchemy在MySQL数据库上执行insert/delete/update查询 目前,我的测试运行如下: 启动测试模式 使用for循环从电子表格中填充测试架构,电子表格中的每个表都有一张表(使用pandas中的read\u excel和to\u sql) 运行测试函数 使用pandas中的read\u sql查询架构以获取测试结果数据帧 使用assert\u frame\u equal将测试结果与预期结果
- 启动测试模式
- 使用for循环从电子表格中填充测试架构,电子表格中的每个表都有一张表(使用pandas中的
和read\u excel
)to\u sql
- 运行测试函数
- 使用pandas中的
查询架构以获取测试结果数据帧read\u sql
- 使用
将测试结果与预期结果进行比较(预期结果也从Excel文件中的表格中提取)assert\u frame\u equal
我曾考虑过为每个测试创建MySQL转储文件,但这似乎是一个很大的工作-它们不像Excel文件那样快速构建…我们已经成功地使用jest在调用数据库的DAL服务逻辑上运行集成测试。我们创建一个并行数据库,在其中运行迁移,并在每次测试后截断所有表 以下是一个链接: 要在Python中使用Jest,请执行以下操作:
你会考虑使用SQLite作为单元测试的模式吗?嗨@ BalajiAmbresh。我读到的所有东西都说,如果可能的话,尝试复制您正在使用的数据库,所以我坚持使用MySQLGot。正如@yg dba所提到的,jest是一个不错的选择。谢谢你的提示。我是编程新手,因此我更愿意在这一阶段坚持使用python。我添加了有关python对jest的支持的信息。谢谢-关于
jest_pytest
的文档不多,我只是从编码开始。在这个阶段可能有点超出我的理解!祝你在这方面取得成功!当学习新技术时,它肯定会变得很有挑战性