在进行TDD时,处理转换方法的最佳方法是什么?

时间:2011-08-02 03:36:32

标签: c# tdd mocking

在尝试进行测试驱动开发时,处理方法中发生的转换的最佳做法是什么?

是否要创建执行转换的静态实用程序方法,然后在这些实用程序方法上编写单元测试?我觉得问题就是当您针对调用此实用程序方法的父方法编写测试时,您必须考虑转换发生,因为大多数模拟框架不会模拟实用程序方法。因此,编写处理父方法的验证方法变得困难。

我想到的另一个选项是创建一个负责转换的接口,并在测试调用方法时模拟出该接口。接口旁边会有一个实现。这样做的问题似乎是编写额外的代码只是为了进行转换,并且在配置IOC容器时需要考虑很多新的依赖关系。

一个完美的例子是需要从视图模型转换为实体的控制器操作,该实体是它连接到的服务的输入。这是什么最好的做法?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我会使用Automapper。它专为处理这种情况而构建,其大部分内核已经过单元测试。您可以编写一些非常基本的单元测试,以确保您的转换始终有效,但这可能不是您尝试进行单元测试的其他事项的优先级:)