我使用 TDD 在 Python 中开发了一组类。这些对象包含数据字段、函数和彼此的链接。一切功能都按我的意愿工作。
最终,所有这些都应该存储在数据库中,以便在 Django Web 应用程序中使用。
我已经勾勒出一些可能的数据库模式来保存相同的信息,但与开发应用程序其余部分的传统 TDD 方式相比,我觉得这是一个“突然的大飞跃”。
所以,现在我想知道,我应该编写哪些测试来强制我以逐步 TDD 的方式将这些对象存储在数据库中?
使这个问题更具体一点,这些类目前是这样的:
class Connector(object):
def __init__(self, title = None):
self.value = None
self.valid = False
self.title = title
...
class Element(object):
def __init__(self, title = None):
self.title = title
self.input_connectors = []
self.output_connectors = []
self.number_of_runs = 0
def run(self):
...
self.number_of_runs += 1
class Average(Element):
def __init__(self, title = None):
super(OpenCVMean, self).__init__(title = title)
self.src = Connector("source")
self.avg = Connector("average")
self.input_connectors.append(self.src)
self.output_connectors.append(self.avg)
def run(self):
super(Average, self).run()
self.avg.set_value(numpy.average(self.src.value))
我意识到一些数据应该在数据库中,而处理函数不应该。我认为应该有一个表来表示 Element 的不同“类型/子类”的详细信息,同时也应该有一个存储实际实例的表。但是,正如我所说,我不知道如何使用 TDD 到达那里。