TDD 测试驱动开发
1:Eclipse可以直接生成对应java文件的test class 。
2:junit4使用了java5+的特性,使得TestCase的编写更加容易
3:测试驱动开发可以在系统推进过程中保证各项系统功能的稳定可用性
4:对于功能模块,每天运行一次testSuit以后再签入代码,基本上可以保证代码的正确
目前,所有的Junit 测试基于junit4.4+
===================
按照用户需求设计测试用例,先进行测试用例的编写。对于暂时不参与测试的逻辑,可以使用@ignore先行忽略,该注解可以使用@ignore("XXX")描述忽略的原因。
每个测试只做一件事。
避免重复的测试。
测试代码和原始代码成镜像目录关系。
测试:失败--通过--重构--测试:……循环过程
TDD要求在代码编写之初就要对代码的功能有比较全面的了解。同时,随着开发的进行,测试用例也在不断的修改完善。
当任务完成时,没有ignore,没有error。
策略模式来实现对实际算法的可替代性(当测试过程难写的时候有用,同时也使得系统更加容易扩展)
使用TDD分离了测试代码和产品代码,系统更加简化,维护性更高。
使用Mock对象代替工作对象。
项目必须是可以测试的。
测试数据必须回归,否则会对下一次数据产生影响(尤其对于需要操作数据库等持久化存储的数据测试)
测试要切中要害,更多考虑异常情况,而不是在一连串看似顺利的通过中前进。