单元测试(Unit Testing)是软件中最小可部件的测试,通常是 方法或函数,单元测试也就是方法测试,或者说函数测试。
单元测试的目的:为了重复运行。
当你编写大量接口或功能,进行修改或重构某部分功能后,程序是否依旧健壮?有没有隐含bug?你往往是不能保证的,这时候把所有单元测试执行一遍,如果都是绿条通过,你就可以确信是健壮的、稳定的。如果有异常错误提示,你只需修改对应报错地方即可。
所以要求单元测试必须满足的要求:
- 可重复运行
- 可自动运行,全自动非交互式的
- 保证测试的独立性,多方法的联合测试应该放到集成测试去做
单元测试的利与弊
好处:可以增加程序健壮性
坏处:测试代码会增加工作量
所以单元测试实质就是投入产出问题,是设计问题。优秀的程序员会在工作量和健壮性之间取一个平衡,达到最完美的单元测试效果
常见单元测试框架
- .net开发常用Nunit
- java开发常用Junit
附注:TDD/BDD 测试驱动开发/行为驱动开发 等等概念,仅仅了解即可,他们所说的就像“桃花源记”一样是一个想象中的理想状态,测试的本质是为开发服务的,是为了得到更好的结果,实际开发中不可能也不会提供这么理想的状态,开发界有类似大量的概念性东西,好像你知道了也没什么卵用,不知道还感到自卑……emmmm,呵呵呵