二.开发过程中所经历的阶段:@H_502_1@
1.不可运行-------写一个不能工作的测试程序,一开始这个程序甚至不能编译@H_502_1@
2.可运行---------尽快让这个测试程序工作,为此可以在程序中使用一些不合情理的方法@H_502_1@
3.重构---------消除在让测试程序工作的过程中产生的重复设计,优化设计结构@H_502_1@
不可运行/可运行/重构 ----- 这就是测试驱动开发的口号@H_502_1@
三.具体开发步骤:@H_502_1@
2.@H_502_1@
25.测试驱动开发模式@H_502_1@
1) 测试最好相互独立: 几个测试失败最好对应的是不同的问题,且独立意味着不依赖于顺序。@H_502_1@
2) 写测试时先写断言,然后根据断言往回写,这样会写出一个测试@H_502_1@
3) 不要用一个常量来表达多重意思,尽量用真实数据@H_502_1@
28.可运行模式@H_502_1@
1) 测试不能通过时返回一个常量,一旦测试能运行起来,那个常量逐渐转换成用变量表示的表达式@H_502_1@
2) 消除重复(如果不知道怎么抽象,就用三角法,两个或两个以上对于相同功能的测试用例)@H_502_1@
29.xUnit模式@H_502_1@
1) 几个测试都需要的对象,放在setUp方法里@H_502_1@
3) 测试异常: 执行完了以后 fail()@H_502_1@
30.设计模式:@H_502_1@
1) 出现空值,返回一个什么也不做的新对象@H_502_1@
2)@H_502_1@
三.重构@H_502_1@
1. 抽象:一点一点减少它们之间的差异,只有他们完全一致的时候再去统一@H_502_1@
1) 提取区域内没有向在本区域外临时变量赋值的语句@H_502_1@
2) 对于在新方法中用到的原方法的每个临时变量或参数,都为新方法增加一个参数@H_502_1@
4.方法对象: 对于某方法内有大量临时变量和参数的情况@H_502_1@
2) 把局部变量变成对象的实例变量@H_502_1@