重构与单测总结

发表于:2012-9-17 11:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  重构这个大类的基本思路还是来源于业务逻辑的划分,可以看到work中主要完成3件事:下载文件、合并文件和处理单词,这里可以采用模板模式:

  具体的实现在HandleTempleImpl里面:

  这样对于真正的处理就能够比较充分地测试,比如mergeFile()现在完全不依赖与downLoadFile()的调用而可以直接测试了。

  四、原则与总结

  以上实例只是一些普遍性较强的例子,实际上细节点非常多,从上也可明显看出如果代码结构不合理可测性确实是非常低的。

  这里有一些代码书写或者重构的原则,对于提高可测性有较大的帮助,较全的重构方法可以参考《重构》这本经典书籍:

  1)形成模板方法(如3.3模板模式的应用)

  2)引入断言(比如每个方法中判断传入参数的合法性,这样在测试时可以减少异常参数测试的工作量)

  3)用多态替代条件语句(如3.2策略模式的应用)

  4)用异常代替错误码(测试时只需要调用后判断预期异常)

  5)将查询方法与修改方法分离(测试时由于查询和修改职责单一后会降低构造数据的成本)

  6)以明确函数取代参数(测试时由于函数明确、职责单一也会降低构造数据成本)

  另外,在测试时也有一些tips:

  1)用TestNG或者Junit的参数化来减少代码量,并尽量将测试数据单独一个类出来;

  2)用ObjectFactory的方式来获取默认数据,这样对于构造拥有多个属性的类的实例时将大大减少工作量,因为只需要在默认对象的基础上做些修改;

  3)使用Mokito的注解方式来mock对象。

55/5<12345
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号