Python 在MySQL数据库上运行单元/集成测试的最佳方法是什么?

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将测试结果与预期结果

我正在为脚本中的一系列函数编写所谓的单元测试(但可能是集成测试),该脚本主要使用SQLAlchemy在MySQL数据库上执行insert/delete/update查询

目前,我的测试运行如下:

  • 启动测试模式
  • 使用for循环从电子表格中填充测试架构,电子表格中的每个表都有一张表(使用pandas中的
    read\u excel
    to\u sql
  • 运行测试函数
  • 使用pandas中的
    read\u sql
    查询架构以获取测试结果数据帧
  • 使用
    assert\u frame\u equal
    将测试结果与预期结果进行比较(预期结果也从Excel文件中的表格中提取)
这似乎过于复杂,我相信我不是唯一一个在MySQL上运行测试的人。有更好的办法吗


我曾考虑过为每个测试创建MySQL转储文件,但这似乎是一个很大的工作-它们不像Excel文件那样快速构建…

我们已经成功地使用jest在调用数据库的DAL服务逻辑上运行集成测试。我们创建一个并行数据库,在其中运行迁移,并在每次测试后截断所有表

以下是一个链接:

要在Python中使用Jest,请执行以下操作:
你会考虑使用SQLite作为单元测试的模式吗?嗨@ BalajiAmbresh。我读到的所有东西都说,如果可能的话,尝试复制您正在使用的数据库,所以我坚持使用MySQLGot。正如@yg dba所提到的,jest是一个不错的选择。谢谢你的提示。我是编程新手,因此我更愿意在这一阶段坚持使用python。我添加了有关python对jest的支持的信息。谢谢-关于
jest_pytest
的文档不多,我只是从编码开始。在这个阶段可能有点超出我的理解!祝你在这方面取得成功!当学习新技术时,它肯定会变得很有挑战性