重构与单测总结
作者:网络转载 发布时间:[ 2012/9/17 11:38:45 ] 推荐标签:
重构这个大类的基本思路还是来源于业务逻辑的划分,可以看到work中主要完成3件事:下载文件、合并文件和处理单词,这里可以采用模板模式:
具体的实现在HandleTempleImpl里面:
这样对于真正的处理能够比较充分地测试,比如mergeFile()现在完全不依赖与downLoadFile()的调用而可以直接测试了。
四、原则与总结
以上实例只是一些普遍性较强的例子,实际上细节点非常多,从上也可明显看出如果代码结构不合理可测性确实是非常低的。
这里有一些代码书写或者重构的原则,对于提高可测性有较大的帮助,较全的重构方法可以参考《重构》这本经典书籍:
1)形成模板方法(如3.3模板模式的应用)
2)引入断言(比如每个方法中判断传入参数的合法性,这样在测试时可以减少异常参数测试的工作量)
3)用多态替代条件语句(如3.2策略模式的应用)
4)用异常代替错误码(测试时只需要调用后判断预期异常)
5)将查询方法与修改方法分离(测试时由于查询和修改职责单一后会降低构造数据的成本)
6)以明确函数取代参数(测试时由于函数明确、职责单一也会降低构造数据成本)
另外,在测试时也有一些tips:
1)用TestNG或者Junit的参数化来减少代码量,并尽量将测试数据单独一个类出来;
2)用ObjectFactory的方式来获取默认数据,这样对于构造拥有多个属性的类的实例时将大大减少工作量,因为只需要在默认对象的基础上做些修改;
3)使用Mokito的注解方式来mock对象。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11