找到一个Python库来模拟数据库

2024-05-17 07:00:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我即将完成一个涉及Python的大学项目,我的团队缺少一个测试用例。我们需要更多,特别是,我们需要一些数据库测试用例。然而,这就是嘲弄的由来。我们需要一个特定于Python的库,可以用来模拟数据库,因此测试用例不使用SQL或访问真实的数据库。我们使用MySQL作为真正的数据库。对于我来说,遇到一个易于使用的Python数据库模拟库有点困难。对于我们的测试用例,什么是最好的呢?或者,有没有更好的方法在Python中测试数据库而不接触它?我非常感谢你的建议。谢谢:-)


Tags: 项目方法数据库sqlmysql测试用例团队建议
3条回答

如果您绝对必须使用mock,而不是其他人提到的Django,我建议您使用FudgeMock

如果您使用的是django,fixtures可以解决您的问题。我不知道您所说的模拟库是什么意思,但它们允许您用测试数据填充数据库。然后您就可以在您的测试用例中与之交互。测试数据在每个测试用例之后被销毁。 http://docs.djangoproject.com/en/dev/howto/initial-data/

就我个人而言,我倾向于编写单元测试以使用单独的测试数据库,因此通常会有一个testing.conf文件,其中包含与常规development.conf和/或production.conf文件不同的数据库信息。这使得我的单元测试与实际情况更为相似,在实际情况下,代码将在生产中执行。

例如,我最近开发了一个Python库,用户为此调用模块级initialize函数,并传入配置文件的名称。然后,initialize函数使用ConfigParser模块解析配置文件,启动它需要运行的任何线程,创建urllib处理程序,建立数据库连接等

这种设置允许简单的单元测试,因为在执行之前,您可以简单地将单元测试调用到initialize函数中,并传入指向测试数据库的配置。

相关问题 更多 >