阅读背景:

Java基础学习总结(118)——单元测试的必要性和重要性

来源:互联网 
大部分程序员有两个特点:一不愿意写文档和注释,二不愿意写单测。单元测试是黑盒测试的基础,基本的准入测试,既能验证逻辑的准确性,又能给后续的接口重构提供基础。总之就是『单元测试很重要』,在敏捷迭代开发过程中,开发人员往往对单元测试不够重视,主要原因还是排期紧,比如我们团队初期对单测的要求是所有的 dao 层都要进行单测覆盖,到后来时间充裕才在 service 层进行单元测试的补充。controller 层的单元测试由于经常采用 mock 对象,很多人嫌繁琐就索性直接跟前端联调,不去管了。那为什么要写单元测试?单元测试能以更细的粒度,构造更多的业务场景,模拟更多的输入行为,在此过程中保证程序行为如程序员所想。单元测试可以驱动重构,通过重构进而优化代码本身,为什么这么说呢?因为单元测试对于被测试代码是有要求的,那什么是好的代码呢?援引一个我认识的架构师的观点,好的代码有以下特点:可读性。代码整洁有序;命名规范,见名知意(get/load, create/build), 在方法没有好到见名知意或者有特殊业务逻辑时,加必要注释。扩展性,易维护性。合理规划变和不变(核心业务逻辑不变);抽取模块、服务、方法;NO 复制粘贴效率。避免一个请求对远程服务/数据库重复请求可测性。避免大而全的方法,一个方法只做一件事(大方法抽取出多个可测小方法);相似的事情尽量合并成一个方法(比如 dao,sql 不要写死,尽量一个 sql 可以做多件事情)其中可测性是单元测试对代码的基本要求,所以当你发现代码不可测试了,是时候重构了,这也是一个代码重构时机的判断标准。大部分程序员有两个特点:一不愿意写文档和注释,二不愿意写单测。单元测试是黑盒测试的基础,基本的准入测


你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: