就要完成所有的单元测试的任务了,做了将近三个月的时间,如果放在以前我有一肚子苦水要述说,不过经历了一些思想上的洗礼之后,不在那么单纯,只为把手头工作做的更加出色而已!
这是单元测试最后一篇了,来做个总结把!
目录:
好的单元测试应该具有的特点
单元测试的命名规范
建立自己的公共调用库
单元测试带给我的思考和感悟
总结图示
1、好的单元测试应该具备的特点
一个好的单元测试一定有它具备的特点,下面就来说说那些主要的特点!
主要概括为 → A-TRIP原则:
自动化 → Automatic
彻底性 → Thorough
可重复性 → Repeatable
独立性 → Indepentdent
专业性 → Professional
恰到好处的单元测试会使你的工作轻松,代码整洁干净,乱用,没有准则的用会浪费你大量的时间,不但没有效果还会是工期延误,所有了解单元测试很重要!
① 自动化
a)不需要人的参与,有的时候只是轻轻的点击一个按钮就能自动执行,所以自动化的标志是不能比点击一个按钮的过程还要复杂!
b)在签入其它的测试代码时不能对现有的代码造成影响!
c)能够自动识别测试是失败还是成功(VS2008以后的版本都集成了这个功能)!
d)在任何时候,任何地方都能自动运行(所以“Moles”技术就是关键)!
核心:执行测试代码和检查测试结果都必须自动化(VS2008以后版本都实现这个功能了)!
总结:I,不要引入一个由于需要手动步骤而打破单元测试的自动化模型的测试!
II,对于测试所需要的任何条件(大部分是数据库)都应该让它成为自动化测试的一部分,如果有需要可以使用Mole技术!
② 彻底性
所谓的彻底性就是说你的测试案例必须要考虑的全面,应该把可能出现的问题都做成测试案例!
具体从哪些方面着手,可以参阅这篇:走进单元测试:测试需要从哪些方面着手
③ 可重复性
a)每个测试案例应该独立于所有的其它测试,而且必须独立于周围的(系统)环境!
b)测试代码能够一次又一次的运行,在不修改代码的前提下都能产生一样的结果,否则有BUG!
c)不要把测试代码写死,应该写的更加灵活一点,运用封装,重构等等的思想!
d)不要让测试本身也出现BUG,确保测试代码的正确性!