Fastpoint
级别: 总版主
精华:
44
发帖: 5033
基地声望: 390 点
基地币: 1683 Bug
基地贡献: 0 点
好评度: 15 点
在线时间:818(小时)
注册时间:2005-10-08
最后登录:2008-07-22
|
自定义测试驱动框架设计(构造解析一)
FastPoint [链接]

第一个问题:为什么是TestCase类是抽象的?
其实这个类必须被设计成抽象的,因为在JAVA给与抽象类(Abstract Class)一定的灵活运用空间,而不像接口(Interface Class)那样死板,举个例子:
public abstract class Foo{ public void functionA(){//类方法 System.out.println("this is Foo!"); };
public abstract void functionB();//类抽象方法 }
在JAVA中抽象类(Abstract Class)是不能被实例化(Instantiated)的,如果你想这样执行一个抽象类,JAVA会给你一个ERROR Message:Foo is abstract; cannot be instantiated。所有的抽象类必须被继承,且其继承子类非抽象类才能被实例化(Instantiated),继续例子:
public class Foooo extends Foo{
public void functionA(){ System.out.println("this is Foooo extend Foo!"); };
public void functionB(){ System.out.println("this is Foooo!"); } }
蓝色代码部分属于JAVA中的一种机制,所有面向对象语言中都会支持的一种机制“覆盖Override”,但是现在我们不讨论这个,继续看后面橙色代码。橙色代码表示了JAVA语言的另外一种机制“强制继承”,所有在抽象类中被定义的抽象方法都必须在继承子类中被实现,通俗的一点说就是你需要把空的方法体做的丰满一点,呵呵。
用Abstract来设计TestCase是非常合适的,TestCase的类方法可以定义继承子类共有的输出测试结果格式,你总不会让每个继承子类都打印出各种各样属于自己的测试结果格式吧?那样不利于管理会显示的很混乱。用类抽象方法体用来描绘今后继承子类的前景,比如具体执行什么样的测试方法等等。
[ 此贴被Fastpoint在2005-10-27 12:46重新编辑 ]
|
可不可不要这么样徘徊在目光内 你会察觉到我根本寂寞难耐 即使千多百个深夜曾在梦境内 我有吻过你这毕竟并没存在
人声车声开始消和逝 无声挣扎有个情感奴隶 是我多么的想她 但我偏偏只得无尽叹谓
其实每次见你我也着迷 无奈你我各有角色范围 就算在寂寞梦内超出好友关系 唯在暗里爱你暗里着迷 无谓要你惹上各种问题 共我道别吧别让空虚使我越轨
|
|
[楼 主]
|
Posted: 2005-10-16 21:48 |
| |