在进行TDD时,处理转换方法的最佳方法是什么?
本文关键字:最佳 方法 是什么 转换方法 处理 TDD | 更新日期: 2023-09-27 18:04:07
在尝试进行测试驱动开发时,处理方法中发生的转换的最佳实践是什么?
是创建执行转换的静态实用程序方法,然后在这些实用程序方法上编写单元测试吗?我觉得这样做的问题是,当您针对调用此实用工具方法的父方法编写测试时,您必须考虑发生的转换,因为大多数模拟框架不模拟实用工具方法。因此,编写处理父方法的验证方法变得困难。
我想到的另一种选择是创建一个负责转换的接口,并在测试调用方法时模拟该接口。在接口旁边会有一个实现。这样做的问题是,似乎只是为了进行转换而编写了额外的代码,并且在配置IOC容器时需要考虑许多新的依赖项。
一个完美的例子是一个控制器动作,它需要从视图模型转换为作为它所连接的服务的输入的实体。最好的做法是什么?您可以Moq了解更多信息,如何使用Moq与TDD检查下面的链接
TDD: Moq简介
关于TDD的更多信息,请查看下面的链接
TDD/BDD截屏/视频资源
用极限编程技术改进项目的设计和灵活性
使用c#和RhinoMocks的测试驱动开发最佳实践
我会使用Automapper。它的构建就是为了处理这种情况,而且它的大部分核心已经经过了单元测试。你可以写一些非常基本的单元测试,以确保你的转换总是工作,但这可能不是优先于你正在尝试单元测试的其他事情:)