【发布时间】:2012-02-18 15:49:18
【问题描述】:
我知道这个问题以前被问过很多次,但我有一些具体的代码示例,我想知道对它们进行单元测试是否有意义:
class FooAPI(object):
def create(self, prop1, prop2, prop3, prop4, prop5):
sql = "INSERT INTO foo (prop1, prop2, prop3) VALUES (?, ?, ?)"
self.connection.execute(sql, (prop1, prop2, prop3))
foo_id = self.connection.insert_id()
sql = "INSERT INTO foo_settings (foo_id, prop4, prop5) VALUES (?, ?, ?)"
self.connection.execute(sql, (foo_id, prop4, prop5))
return foo_id
def update(self, foo_id, prop1, prop2, prop3, prop4, prop5):
"Update code similar to above"
def delete(self, foo_id):
sql = "DELETE FROM foo WHERE foo_id = ?"
self.connection.execute(sql, (foo_id,))
def find(self, foo_id=None, prop1=None):
"Find objects by ID or by prop1"
对上述代码进行单元测试是否有意义,以及如何进行。这里有两个复杂的因素:
- 数据库本身并不简单,我目前没有简单的方法来创建包含所有测试数据的数据库
- 架构在不断发展,这意味着不可能一劳永逸地创建测试数据库。
【问题讨论】:
标签: python database unit-testing