Juconcurrent 学而不思则罔,思而不学则殆。

单元测试(1)总纲

2016-02-01

单元测试

简介

英文名叫unit test,意指针对某一部分进行测试,测试的对象和范围一般是方法。在日常工作之中,我们常常忽略单元测试。之所以会这样,我总结为以下几点:

  • 懒惰,人都是懒惰的,尤其是程序员。因为懒惰,所以我们写很多的工具来辅助完成每一次重复的劳动;
  • 认为是浪费时间。我们完成业务逻辑已经花掉很多时间了,同时项目时间也有限得很,再花时间精力去补充单元测试,时间太紧了;
  • 方法太简单了,一目了然的代码,那还写什么单元测试呢;
  • 测试都是QA的责任。

以上几点,在项目团队中是普遍存在的。而我要说的是,我们写的每一行代码,并不是肉眼看一下说是ok的,它就是ok的,它需要加以论据论证。不写单元测试,很难让人信服(包括自己)代码就是正确的。每一次系统上线,如果单元测试覆盖得比较全面,且测试通过,更会增加我们对代码的认知程度。对于程序员来说,如果养成了对自己写的代码进行单元测试的习惯,不但可以写出高质量的代码,而且还能提高编程水平。

本系列文档,主要介绍如何写出高质量的单元测试,以佐证我们的代码质量!

目录

  • 概念引入,一个最基础的单元测试
  • junit使用及特性
  • testng使用
  • 模拟数据生成器
  • XP和TDD,测试驱动开发
  • 尽量覆盖每一个场景
  • 跨产品线rpc调用时,单元测试带来的疑问
  • 代码隔离和适度回调
  • CI Environment的引入
  • 测试细粒度化,针对小方法的测试引入
  • Spring对测试框架的集成(junit和testng)
  • 忠告:bug不能完全避免,只能尽量尽早暴露

代码下载

https://bitbucket.org/zhangfb95/unittest-demo

标注

  • 测试框架使用junit

Content