吐槽-谈谈单元测试
吐槽
许多开发人员,没有写单元测试(unit test)的习惯,甚至项目中保持干净的0单测
部分公司会要求员工写单测,许多人也是在功能开发完成后再补单测
如果你是这些人中的一员,那么朋友,你只是个低级程序员,俗称码农
更有甚者,写一些几乎没有意义的单测,以骗过单测统计系统
这。。。没什么好说的了
合理解决方案
你要做的
-
学习掌握单元测试框架使用方法,通常都非常简单,java使用JUnit,python、ruby等脚本语言也都内置了单测类库
-
尝试在开发的过程中编写单测,你可以写完一两个方法,立即补上一个单测,运行通过后再开始编写下一个方法
### 你应该理解的
-
及时编写单测,能够让你在第一时间发现错误,并在短短数分钟之内进行修复。越及时,越能降低你的开发耗时
-
通过足够的单测覆盖,你可能做到在项目提测后,bug数为0
-
写单测如同写实现代码,你同样应当遵循DRY原则,不应该存在代码重复。许多表面上技术还不错的开发者,写的单测代码冗余至极。只能说,还是功力有限
-
没有单测覆盖的代码,很少有人愿意来帮助改善你的代码
-
单测应该是没有上下文依赖,可独立运行
如果你依赖数据库,你应该用内存数据库替代
如果你依赖后台服务,你应该在上层就mock掉;如果你觉得真有必要,你也可以费力编写一个mock server服务,运行单测时自动启动
-
单测不能依赖前后执行顺序,随时都应当可以执行任何一个或一批单测方法