此文章为摘抄,原文链接:http://www.cnblogs.com/xinz/archive/2011/11/20/2255830.html
1.单元测试应该在最低的功能/参数上验证程序的正确性:也就是测试的单位应当足够小,例如java,应该以java的单个类为单位,测试其中的每个方法和变量
2.单元测试应该由作者来写
3.单元测试过后,机器状态保持不变
4.单元测试要快(一个测试运行时间是几秒钟,而不是几分钟)
5.单元测试应该产生可重复、一致的结果
6.独立性,单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性:
程序中的各个模块都是互相依赖的,否则它们就不会出现在一个程序中。一般情况下,单元测试中的模块可以直接引用其他的模块,并期待其他的模块能返回正确的结果。
如果其他的模块很不稳定,或者其他模块运行比较费时(如进行网络操作),而且对于本模块的正确性并不起关键的作用,这时可以人为地构造数据以保证这个单元测试的独立性。
7.单元测试应该覆盖所有代码路径
8.要把单元测试自动化,这样每个人都能很容易地运行它,并且可以使单元测试每天都运行。每个人都可以随时在自己的机器上运行。团队一般是在每日构建中运行单元测试的,这样每个单元测试的错误就能及时被发现并得到修改
9.单元测试必须和产品代码一起保存和维护:如果不一起,会导致单元测试和产品不匹配
浙公网安备 33010602011771号