Я знаю, что этот вопрос задавался много раз ранее, но у меня есть несколько конкретных примеров кода, и я хотел знать, имеет ли смысл их модульное тестирование:
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"
Имеет ли смысл использовать юнит-проверить приведенный выше код, и как можно поступить об этом.Здесь есть два усложняющих фактора:
- Сама база данных не является тривиальной, и в настоящее время у меня нет простого способа создать базу данных со всеми тестовыми данными
- Схема развивается, что означает, чтоневозможно создать тестовую базу данных раз и навсегда.