TDD CRUD应用程序复杂数据库设计



我们被分配用于开发软件系统。它几乎缺乏任何业务逻辑但简单的CRUD操作(以及某些形式的一些很小的控件)。但是问题是数据模型已经存在,它与UI形式无关。我的意思是每个表格仅映射到多个表格,或多个表上的多列。

我相信我们将根据业务逻辑设计对象(实体 - DTOS)模型,而不是复杂的旧数据库设计。因此,该应用程序仍然容易且易于理解,并包装一组数据访问对象背后的所有复杂性。

这导致复杂的DAO对象,这是测试的最重要目标。是否可以在没有数据库的情况下为DAO对象编写测试?如何?

我认为您缺少一层间接。

daos是使用针对真实数据存储的集成测试测试的,因为这些测试检查了DAOS成功执行这些查询的能力。

缺失层将是旧模型和新模型之间的翻译层。该层可以很容易地进行单位测试,并且只能包含在两者之间转换的纯函数。

这将使Daos简单易于测试,并使转换层也更容易测试。

最新更新