在尝试进行测试驱动开发时,处理方法中发生的转换的最佳做法是什么?
是否要创建执行转换的静态实用程序方法,然后在这些实用程序方法上编写单元测试?我觉得问题就是当您针对调用此实用程序方法的父方法编写测试时,您必须考虑转换发生,因为大多数模拟框架不会模拟实用程序方法。因此,编写处理父方法的验证方法变得困难。
我想到的另一个选项是创建一个负责转换的接口,并在测试调用方法时模拟出该接口。接口旁边会有一个实现。这样做的问题似乎是编写额外的代码只是为了进行转换,并且在配置IOC容器时需要考虑很多新的依赖关系。
一个完美的例子是需要从视图模型转换为实体的控制器操作,该实体是它连接到的服务的输入。这是什么最好的做法?
答案 0 :(得分:1)
您可以Moq了解更多信息,如何使用带有TDD的moq检查以下链接
还有关于TDD的更多信息,请查看以下链接
TDD/BDD screencast/video resources
Improve the Design and Flexibility of Your Project with Extreme Programming Techniques
Best Practices of Test Driven Development Using C# and RhinoMocks
答案 1 :(得分:0)
我会使用Automapper。它专为处理这种情况而构建,其大部分内核已经过单元测试。您可以编写一些非常基本的单元测试,以确保您的转换始终有效,但这可能不是您尝试进行单元测试的其他事项的优先级:)