我是 TDD 的狂热爱好者,并且总是努力在编写生产代码之前编写测试,以确保我正在编写的代码的正确行为。然而,偶尔会有几个问题,是否为某些类型的方法编写大量测试是谨慎的。这似乎在编写映射器类时最常出现。
public class FooBarMapper
{
public Foo MapToFoo(Bar bar)
{
return new Foo
{
Id = bar.Id,
Name = bar.Name,
FooYuk = bar.Beverage,
/* ... */
};
}
}
例如,上面有大约十几个属性要映射到上面。在 TDD 环境中,在编写任何映射之前,我可能会编写一个测试。类似的东西MapToFooMapsBeverageToFooYuk()
。测试失败,导致我编写代码使其通过。我对每个要映射的属性重复此操作。问题是:这是否将测试优先的开发走得太远了?我个人不这么认为,因为我宁愿有一整套测试告诉我代码的确切作用,但我想听听社区的想法。