Junit源码总结

 

Junit的底层代码主要是由观察者模式,组合模式,模板模式,命令模式 来实现的。



在Junit里首先会初始化一个主题对象testResult对象,这个对象里面有增加监听器的方法,所有的监听器方法都实现了

 

testListener接口,这个接口会把一系统测试过程的信息传递给所有的监听器,然后监听器会按照它们的方式显示给用

 

户,在这里就用到了观察者模式 ,观察者模式就是定义对象间的一种一对多的依赖关系,解决多个对象间相互依赖关系的相

 

互通知。我们是让多个观察者对象同时监听某一个主题对象。testResult就是一个被观察者,testListener就是一个观察

 

者接口,只要testResult发生了变化,那么所有实现testListener接口的监听器全都会得到响应并作出相应的变化。我们

 

增加一个监听器也是非常的简单,直接实现testListener接口就行了,扩展性非常的强。

 

 

然后通过Test接口多态生成一个testSuite对象,在这里它用到了组合模式 ,组合模式就是将对象以树形结构组织起来,以

 

达到“部分与整体”的层次结构,使客户使用单个对象和组合对象的具有一致性。TestSuite相当于树形结构的树枝,而所有测

 

试类的父类TestCase就相当于树叶。当我们执行TestSuite里的run方法的时候,它会遍历这个集合,调用每个

 

TestCase对象里的run方法对所有的测试类进行测试。

 

 

在Junit里,TestCase在执行测试之前和测试之后都要进行一些处理。如我们在测试之前要调用setUp进行一些初始化,

 

比如说数据库连接等。在测试完以后要调用teardown方法进行一些清理工作,如释放数据库连接等。Junit它在这里用到

 

模板模式 ,模板模式就是父类定义流程,子类定义实现。Junit它就提供setUp和teardown方法,在每次测试之前和之后

 

调用。这样我们测试就省去了不少的重复代码。

 


最后就是运行Junit。它在这里用到命令模式 ,命令模式就是把一个对象的行为封装成了一个对象,这样我们就不用去关心

 

实现这个行为的具体细节了。在Junit源码中,运行Junit直接执行Test接口的run方法就可以了,我们不用去关心它内部是

 

怎么实现的了。

 

看完之后,还请各位前辈们为小弟指点指点!!!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值