【问题标题】:Python tests to functions relying on a MySQL user and connetionPython 测试依赖于 MySQL 用户和连接的函数
【发布时间】:2018-11-26 13:00:26
【问题描述】:

我正在编写一个Python 测试类,其方法依赖于与 MySQL 数据库的连接。测试类的目的是测试另一个用于简化与同一数据库交互的类。交互是通过pymysql 管理的,这需要 MySQL 帐户的登录凭据。

我正在研究执行测试时在任何服务器上自动创建 MySQL 测试用户的可能性。我的目标是能够将代码安装为一个包,并使用设置过程运行测试,该设置过程将连接返回到数据库,而无需用户参与。

我目前只熟悉通过现有的超级用户创建 MySQL 用户。临时解决方案是包含一个包含登录凭据的文件,供测试模块读取和使用。

我可能是从一个完全错误的角度处理问题。一般来说,我正在尝试测试执行 MySQL 命令并将更改提交到数据库的代码。我很感激任何提示、想法或经验。

干杯,

【问题讨论】:

    标签: python mysql database-connection pymysql database-security


    【解决方案1】:

    理想情况下,您的测试根本不应该触及您的数据库。如果您正在测试您的代码 - 那么测试应该执行您的代码并检查结果的正确性。如果 DB 包含在您的测试过程中,那么您正在测试您的代码 + DB。

    为了测试你应该模拟 PyMysql 模块本身,我同意this answer

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 2022-11-16
      • 2012-02-15
      • 1970-01-01
      • 2017-07-08
      • 2021-07-25
      • 1970-01-01
      • 2013-03-10
      • 1970-01-01
      相关资源
      最近更新 更多