Python测试依赖于MySQL用户和连接的函数

时间:2018-06-17 12:26:13

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

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

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

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

我可能是因为我从完全错误的角度来解决问题。一般情况下,我试图测试执行MySQL命令的代码并提交对数据库的更改。我很感激任何提示,想法或经验。

干杯,

1 个答案:

答案 0 :(得分:0)

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

对于测试,您应该模拟PyMysql模块本身,我同意this answer