单元测试对象/模型转换器

时间:2012-04-19 14:09:50

标签: unit-testing object testing pojo

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

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

如果这些字段都被称为相同,并且有人喜欢冒险,那么反思可能会有所作为。但我不想走那条路......

如果由于某些复制+粘贴错误而将具有名称和名字的人转换为名称== firstname的人员,则接受测试不会发现错误。

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

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

1 个答案:

答案 0 :(得分:1)

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

assert( 4*5, 20 )

而不是

   assert( 4*5, 4*5 )

此处测试数据为4520,并测试与之相关的逻辑是乘法。你的情况也是如此。定义测试数据并测试转换产生的结果是否正确。

(正如你所指出的那样,用反射等方法测试themsleves泛型,会破坏测试的目的。)

相关问题