Python和数据库单元测试

你好,
我正在编写与数据库交互的应用程序.我想
关于如何编写Unitests,我希望他们能够运行
不必实际访问实时数据库.模式
最好的描述在这里:http://martinfowler.com/eaacatalog/servicestub.html
我找到了http://qualitylabs.org/pdbseed/,这有帮助
实时数据库的Unitests.这不是我所追求的.
有人知道充当数据库存根的模块吗
Python Unitests?
谢谢,
丹尼尔

# 回答1


丹尼尔,我不知道它是否适用于您的情况,但是是否适用
您正在使用Python 2.5,可以使用现在的内置SQLITE3
模块.如果您甚至不想创建一个临时数据库文件
您可以使用类似的特殊内存语法:
- 戈迪
# 回答2


嘿,戈迪,
谢谢回复.我实际上在我的一部分中使用sqlite
应用程序,我觉得不需要固执.即使我
不要使用内存选项,它仍然是零配置,所以我
在每个测试中构建我的数据库,然后将其删除.
但是,我与MySQL数据库互动的方式不同于
Sqlite部分.
再次感谢,
丹尼尔
8月26日,4:12*pm,gordyt - 戈德
# 回答3


丹尼尔 它不是数据库特定的,但是模拟模块应该在这里为您提供帮助:http://python-mock.sourceforge.net/
该页面上甚至有一个示例数据库的示例.
# 回答4


2008年8月27日,星期三,上​​午4:55,Alex23 它不是数据库特定的,但是模拟模块应该在这里为您提供帮助:http://python-mock.sourceforge.net/
该页面上甚至有一个示例数据库的示例.
-http://mail.python.org/mailman/listinfo/python-list
- -
marco bizzarri http://iliveinpisa.blogspot.com/
# 回答5


2008年8月27日,星期三,上​​午4:55,Alex23 它不是数据库特定的,但是模拟模块应该在这里为您提供帮助:http://python-mock.sourceforge.net/
该页面上甚至有一个示例数据库的示例.
-http://mail.python.org/mailman/listinfo/python-list
我强烈不同意在数据库中使用模拟;检查序列
SQL陈述是脆弱的,痛苦的,使您感到沮丧
当实际的SQL和生成的SQL不匹配时.
问候
马可
- -
marco bizzarri http://iliveinpisa.blogspot.com/
# 回答6


在2008年8月26日星期二,晚上11:35,丹尼尔 我认为您指的是错误的方向,如果您想做一个
ServiceStub;该服务应封装您对
数据库(或您要访问的任何外部资源),以及
之后,它或多或少都应该对您来说是透明的.
问候
马可
- -
marco bizzarri http://iliveinpisa.blogspot.com/
# 回答7


2008/8/27 Alex23 ::
Python有许多模拟模块 - 我当前的favo 仪式
是莫克斯.参见.
- -
干杯,
Simon B. sixexhy@brunningonline.net http://www.brunningonline.net/simon/blog/(_@_ _)
2008/8/27 marco bizzarri :
显然,您需要集成测试以及单元测试,但是单元
测试应该隔离测试的代码,因此将外部固化
依赖性是常态.
- -
干杯,
Simon B. si@brunningonline.net http://www.brunningonline.net/simon/blog/
gtalk:Simon.Brunning | MSN:small_values | Yahoo:SmallValues | Twitter:Brunns
# 回答8


在2008年8月27日星期三,上​​午10:26,西蒙·布鲁宁(Simon Brunning)
显然,您需要集成测试以及单元测试,但是单元
测试应该隔离测试的代码,因此将外部固化
依赖性是常态.

我同意您对外部依赖性的固执;我只是
建议将这些东西进一步存根,这样您就不会
暴露于实际的SQL代码.
问候
马可
- -
marco bizzarri http://iliveinpisa.blogspot.com/

标签: python

添加新评论