前言:在公司写单元测试已经有两个多月了(思想上有过纠结),说实话有点像赶鸭子上架,在项目收尾的时候才做,很明显它的作用已经是名副其实了,而且还找像我这样的新手来写(一开始我都不怎么熟悉业务流程),所以现在一直努力学好单元测试,写好它,把自己的事做好!

  我也是在读程序员修炼之道 - 单元测试这本书之后,再阅读了园子中的各个文章后的感悟把,写出来跟大家一起分享!

  电子书下载地址:http://www.kuaipan.cn/file/id_29568238492847284.htm

  测试是贯穿整个整个软件工程的始末,做好测试对软件的质量会有一个质的保证,减少查找BUG的工作量,所以作为一个开发者需要了解各种测试流程以及核心思想,然而这次的单元测试是我们开发者必须要具备的技能,这次让我们走进单元测试(Unit Test)!

  1.个人对单元测试的初识

  ①坚持的开发中编写单元测试,并把它培养成一种习惯!

  ②写出高效的单元测试,这种能力需要在实践中慢慢积累!

  ③提高对单元测试的认识高度,把它和编码工作同等对待!

  2.什么是单元测试?

  通俗讲单元测试是检查一个函数执行后它的返回结果或者它对系统数据造成的影响(或者其它方面的影响)是否跟你的期望一致,也是为了证明代码的行为和我期望的一致!

  3.我们为什么要使用单元测试?

  ①直接的原因是保证我们函数的正确性,如果这个函数在没有保证正确的情况下被上层代码调用,那么随着项目的深入,调用层次会越来越深,很容易产生严重的BUG问题,从而增加开发难度,降低开发效率!

  ②根本原因是减轻我们开发人员的工作量,使我们的工作变的轻松(这只是一个相对说法)!

  4.单元测试的内涵

  如果把单元测试上升到一定程度后,它可以把我们的代码变的更加完美和简洁!

  5.单元测试的本质

  请记住一点,不是为工作而编写单元测试,单元测试是方便我们开发人员的,可以使我们的工作变的轻松!

  单元测试可以减少我们花在解决不必要的BUG之上(并不是说没有BUG,而是说减少不必要的BUG),而把大量时间专注于业务需求上!

  6.函数的行为和预期的一致吗?

  如果测试只考虑在正确的环境下造成正确的影响,那么这样的单元测试是不及格的!

  做测试要考虑全面,各个方面都要涉及的到,如:环境因素(也可以是系统所处在的环境),各种异常,边界值等等,所以尽可能的考虑特殊情况,做到做到百密而无一疏(尽自己的大努力达到)!