再论:比较两个对象的属性值是否相同 [ 光影人像 东海陈光剑 的博客 ]
Blog上这几天关于这个话题讨论的很热列,问题的产生就是在单元测试验收返回结果时,通过代码量比较大,为了简化比较代码,我们提出了传入对象比较的方式,对于实现方法,大家说了很多,我也有一个想法,请大家参考一下。
我的想法主要是通过包装unitils属性比较的功能来实现。 先来熟悉一下unitils属性断言:
这里还增加了关于对象中包含List情况下的判断,主要过程就是通过传递List 属性的名字加上分隔符“:”再加上要比较的对象的属性名就可以了,注意区别子对象名加“.”对象属性名的情况,这个是unitils本身支持的。还是举个使用的例子,一个user Object ,包含一个address的List,一个family的子对象。
下面的调用的情况
还要多说一句的是,使用上面的方法,当对象不相等时,出错的信息,非常友好,会告诉什么地方,那个属性错了。当然这个方法应还可以再扩展,以应对更复杂的情况。我们从来只做一件事,分享.
让美在这个世界流转
让倍感无趣的 受伤的 彷徨的 孤独的 或是心情忧郁的 人生黯淡的人们
能有一次机会
去再一次发现这个世界的美
并把美传递给他人
---光影人像(Follow WeChat public number with interest)
浙公网安备 33010602011771号