查找Python库以模拟数据库

Mic*_*kov 16 python database testing django mocking

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

Mic*_*ent 6

如果你绝对必须使用模拟而不是其他人提到的Django的东西,我建议使用FudgeMock.

  • Mock现在位于Python 3的标准库中 (3认同)

dm0*_*514 5

如果您使用的是django,固定装置可以解决您的问题。我真的不知道模拟库的含义,但是它们允许您用测试数据填充数据库。然后您可以与之交互以使用TestCase。每个TestCase之后都会破坏测试数据。 http://docs.djangoproject.com/en/dev/howto/initial-data/


Eli*_*ght 2

就我个人而言,我倾向于编写单元测试来使用单独的测试数据库,因此我通常会拥有一个包含与常规和/或文件testing.conf分开的数据库信息的文件。这使得我的单元测试更加类似于代码在生产中执行的实际条件。development.confproduction.conf

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

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