作者:陈市明/Slipper Feng
摘自:http://www.blogjava.net/JPeanut
Junit
目前是
java
种最为流行的单元测试的框架,开发人员是编写设计模式的三大牛人之一。
junit
灵活的使用了多种模式,使得扩展非常之容易。他的扩展是所有单元测试框架是最多的,但是很多扩展都是直接继承自
TestCase
,这个就导致用了这个扩展就没法使用其他的扩展了,比如,用了
dbunit
就不能再用
easy struts
了(除非,我们对扩展进行重写)。
为了解决这个问题,我在Junit之上还封装了一层TestFrame,使得junit能够很容易的同时使用多个扩展。我们这里的设计思想是:
1.
把扩展写成插件式,我只要通过写一个
plugin
接口让他集成进我们的框架中
2.
后期对架构的功能扩展完全可以通过插件实现。目前,已经写了
dbunit
,
struts-easy,imon
fk
,
JMS
电文的
plugin
。通过插件的方式,我们就可以很容易的解决
junit
的硬伤:测试数据硬代码。
3.
插件的添加,无需修改架构及其原有的测试脚本,只需要在“项目的
TC
”中在注册中心对插件注册就可以获得插件的所有的功能
4.
架构是面向对项目的,所有不同架构的项目可以使用同一套底层架构,不一样的只是“项目
Tc
”
5.
Test Frame Work
、所有的
plugin
和项目
TC
都可以各自独立打成
jar
,这样框架可以很方便的进行局部升级
(呵呵,有了电文插件后,就很容易的对我们的项目进行自动化的单元测试。在次之前,我们一直没有对电文进行有效的自动化的单元测试,
mock
技术可以实现,但是,对于需求变化
mock
没有很好的解决办法)