JUnit框架中命令模式应用与系统架构设计.pdfVIP

  • 0
  • 0
  • 约2.08千字
  • 约 3页
  • 2026-03-08 发布于北京
  • 举报

JUnit框架中命令模式应用与系统架构设计.pdf

table{border-collapse:collapse;}table,th,td{border:1pxsolid#000;}

圣思园科技

主讲人:

Junit体系架构

JUnit的设计使用以PatternsGenerateArchitectures(请参见”PatternsGenerateArchitectures”,

KentBeckandRalphJohnson,ECOOP94)的方式来架构系统。其设计思想是通过从零开始

来应用设计模式,然后一个接一个,直至你获得最终合适的系统架构。

命令(Command)模式

JUnit是一个测试framework,测试人员只需开发测试用例。然后把这些测试用例(TestCase)

组成请求(可能是一个或者多个),发送到JUnit,然后由JUnit执行,最后报告详细测试结果。

其中包括执行的时间,错误方法,错误位置等。这样测试用例的开发人员就不需知道JUnit

的细节,只要符合它定义的请求格式即可。从JUnit的角度考虑,它并不需要知道请求

TestCase的具体操作信息,仅把它当作一种命令来执行,然后把执试结果发给测试人员。

这样就使JUnit框架和TestCase的开发人员独立开来,使得请求的一方不必知道接收请求

一方的详细信息,更不必知道是怎样被接收,以及怎样被执行的,实现系统的松耦合。

命令(Command)模式

Command(命令)模式(请参见G,E.,etal.DesignPatterns:ElementsofReusable

Object-OrientedSoftware,Addison-Wesley,Reading,MA,1995)则能够比较好地满足需求。

摘引其意图(intent),“将一个请求封装成一个对象,从而使你可用不同的请求对客户进

行参数化;对请求进行排队或记录请求日志…”Command模式告诉我们可以为一个操作生

成一个对象并给出它的一个”execute(执行)“方法。

将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或

记录请求日志,以及支持可撤消的操作。

命令(Command)模式

下面来考虑经过使用Command模式后给系统的架构带来了那些效果:

Command模式将实现请求的一方(TestCase开发)和调用一方(JUnit)进行解耦

-Command模式使新的TestCase很容易加入,无需改变已有的类,只需继承TestCase类

即可,这样方便了测试人员

-Command模式可以将多个TestCase进行组合成一个复合命令,你将看到TestSuit就是它

的复合命令,当然它使用了Composite模式

-Command模式容易把请求的TestCase组合成请求队列,这样使接收请求的一方(Junit

Fromwork),容易决定是否执行请求,一旦发现测试用例失败或者错误可以立刻停止进行

报告

命令(Command)模式

命令模式的构成

1.客户角色:创建一个具体命令对象,并确定其接收者

2命令角色:一个给所有具体命令类的抽象接口。这是一个抽象角色,通常由

一个接口或抽象类实现

3具体命令角色:定义一个接收者和行为之间的弱耦合,实现execute方法,负责

调用接收者的相应操作

4请求者角色:负责调用命令对象执行请求。

5接收者角色:负责具体实施和执行一个请求

生活例子

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档