单元测试
简介
英文名叫unit test,意指针对某一部分进行测试,测试的对象和范围一般是方法。在日常工作之中,我们常常忽略单元测试。之所以会这样,我总结为以下几点:
- 懒惰,人都是懒惰的,尤其是程序员。因为懒惰,所以我们写很多的工具来辅助完成每一次重复的劳动;
- 认为是浪费时间。我们完成业务逻辑已经花掉很多时间了,同时项目时间也有限得很,再花时间精力去补充单元测试,时间太紧了;
- 方法太简单了,一目了然的代码,那还写什么单元测试呢;
- 测试都是QA的责任。
以上几点,在项目团队中是普遍存在的。而我要说的是,我们写的每一行代码,并不是肉眼看一下说是ok的,它就是ok的,它需要加以论据论证。不写单元测试,很难让人信服(包括自己)代码就是正确的。每一次系统上线,如果单元测试覆盖得比较全面,且测试通过,更会增加我们对代码的认知程度。对于程序员来说,如果养成了对自己写的代码进行单元测试的习惯,不但可以写出高质量的代码,而且还能提高编程水平。
本系列文档,主要介绍如何写出高质量的单元测试,以佐证我们的代码质量!
目录
- 概念引入,一个最基础的单元测试
- junit使用及特性
testng使用- 模拟数据生成器
- XP和TDD,测试驱动开发
- 尽量覆盖每一个场景
- 跨产品线rpc调用时,单元测试带来的疑问
- 代码隔离和适度回调
- CI Environment的引入
- 测试细粒度化,针对小方法的测试引入
- Spring对测试框架的集成(junit和testng)
- 忠告:bug不能完全避免,只能尽量尽早暴露
代码下载
https://bitbucket.org/zhangfb95/unittest-demo
标注
- 测试框架使用junit