我试图在我的所有代码库中遵循 TDD 原则。前端(MVC)和后端部分是分开的,前端使用自己的模型对象,而后端使用数据库对象,然后将其保存到文档数据库(RavenDb)。
这需要从 sayCustomerModel
到CustomerData
. 这些是彼此独立创建的,因此结构可能不匹配。例如,CustomerModel
可能是扁平的,而CustomerData
有一个嵌套对象ContactDetails
。
目前,我们正在实现两种方法,一种是 sayConvertCustomerModelToCustomerData
和ConvertCustomerDataToCustomerModel
. 它们非常相似,但彼此相反。除此之外,这些方法也经过单元测试。因此,在四个实例中创建了类似的代码 - 每次转换两次,每次单元测试两次。
这是一个非常令人头疼的维护,对我来说似乎不正确。我尝试过使用AutoMapper
,但我发现它非常僵硬。另外,我找不到任何方法可以对此进行单元测试。
任何想法将不胜感激。