Junit设计模式分析



##Juint开源测试框架


##Command命令模式
请求被封装为对象 (可附加日志排队)

各种测试用例TestCase都被提交给JUnit
JUnit把它们当作命令
然后操作返回结果

使得Junit框架与TestCase开发能够分离
类似炒菜和点菜的关系


##Composite组合模式
组合与个体具有相同的操作接口

用来测试多个用例
TestSuite与TestCase都继承自Test
具有相同的操作接口run(TestResult result)


##Template模板方法
封装算法的不变部分

步骤类似
特定方法可以有开发者以回调的方式提供
(其实就是提供一个包含特定方法的对象)


##Adapter适配器对象
侧重接口转换

为了复用SetUp()tearDown()
不必对某对象的多个方法生成多个TestCase子类

一个TestCase子类可以包含多个被测试方法
这些被测试方法名统一用test开头

而TestCase里面关心的是run()方法

为了将多个test开头的被测试方法与TestCase的run方法匹配
需要进行接口转换
将某个test开头的方法适配为runTest方法


##Observer观察者模式
观察者监听操作结果 (如Text,Swing界面)
被观察者传递操作信息

观察者接口TestListener
被观察者TestResult收集测试结果
并向监听者传递信息

类似于订阅报纸服务


##Decorate装饰模式
对原有框架进行微量修改
采用HaveA方式扩展原类功能

例如RepeatedTest装饰TestCase



##参考
[A]_Junit设计模式分析.pdf

猜你喜欢

转载自jekiy.iteye.com/blog/1517734