• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

EasyMock与JMock的比较

发布: 2009-4-01 10:24 | 作者: 不详 | 来源: 测试时代采编 | 查看: 232次 | 进入软件测试论坛讨论

领测软件测试网

 下面进行具体类测试,一个共同的点是,二者均使用了CGLIB作为增强器,因此效率差别几乎没有。将上面的测试稍稍修改,将TheInterfaceToMock改为TheClassToMock。发生了以下变化。

   用jMock,需要将import替换为新的import,代码中其他部分完全不变!

原来

importorg.jmock.Mock;

importorg.jmock.MockObjectTestCase;

改为:

importorg.jmock.cglib.Mock;

importorg.jmock.cglib.MockObjectTestCase;

 

   这是个相当体贴的设计,保证了接口的一致性。对于一套API来说,同样的类却有不同的使用方法是个噩梦。

   用easyMock,需要新增加一个import。并且修改一些声明的地方。   

原来

importorg.easymock.MockControl;

增加

importorg.easymock.classextension.MockClassControl;

 

 

// mock控制器

MockControlcontrol=MockClassControl.createControl(TheClassToMock.class);

 

其他部分不需要变化。虽然这有些变化,但是变化带来了其他的好处,就是:能够支持带有构造参数的具体类,而jMock不支持。这对于大量使用了PicoContainer的代码来说不啻是一个福音。

结论:

 

    5如果需要构造参数,只能使用easyMock

    6如果喜欢用相同的API操作并且不在乎构造参数,请用jMock

    7如果愿意等待下一版本的jMock提供构造参数支持,请用jMock

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

33/3<123

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网