1

有几个地方必须将一个数据对象转换为另一个。例如,来自 web 服务或 REST 服务的传入数据到可持久化的对象中。

有没有一种方法可以单元测试所有传入数据都填充到“传出”对象的正确位置,而无需在测试中复制转换器逻辑?

如果所有领域都被称为相同,并且一个人感觉冒险,反射可以做一些工作..但我不想走那条路..

如果说一个有名字和名字的人由于某些复制+粘贴错误而被转换为名字 == 名字的人,则验收测试不会发现错误。

所以现在我只是跳过测试对象/模型转换,而是好好看看我的转换器。

有没有人知道如何以不同的方式做到这一点?

4

1 回答 1

1

如果您需要测试乘法是否有效,则不应复制乘法逻辑。定义您知道正确的测试数据,并测试乘法是否正常。

assert( 4*5, 20 )

并不是

   assert( 4*5, 4*5 )

这里的测试数据是4, 5, 20,并且测试将它们联系起来的逻辑是乘法。同样的原则也适用于你的情况。定义测试数据并测试转换产生正确的结果。

(正如您所指出的,通过反射等使测试具有通用性,这违背了测试的目的。)

于 2012-04-19T14:16:26.457 回答