jmock简介.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jmock简介

jmock简介 目录 总评 1 功能和特点 1 背景介绍 1 参考资料 2 18.2 JMock (2) 2 快速上手教程 2 Expectations用法简介 5 18.2 JMock (3) 6 18.2 JMock(4) 8 版本信息 8 社区视角 9 总评 Mock 测试是一种常见的测试方法。通常在执行测试的时候,测试代码往往需要与一些真实对象进行交互,又或者被测代码的执行需要依赖真实对象的功能。此时,我们可以使用一个轻量级的、可控制的Mock 对象来取代真实对象,模拟真实对象的行为和功能,从而方便我们测试。jMock 便是这种方法的一种实现。 jMock 是一个利用Mock 对象来测试Java 代码的轻量级测试工具。毫不例外,它也是xUnit家族的一员,因为它从JUnit 发展而来,是JUnit的一个增强库。jMock 用法简单,易于掌握。利用它,我们可以很容易地快速构造出所需的Mock对象,从而得以方便快捷地编写单元测试代码,很适合测试驱动开发的流畅进行。 功能和特点 使用jMock,我们就不必像以往那样,停下测试代码的编写工作,转而去写专门的Mock 对象。而且,jMock 允许你以一种十分灵活的方式来精确定义对象之间彼此交互的约束,从而更好地模拟和刻画对象间的调用关系。jMock 的这种对象间调用关系的约束表达十分简洁和紧凑,这 使得测试代码的编写变得十分简洁,同时又能很好地利用Mock 对象来达成测试意图。此外,jMock 也很容易扩展,我们可以很方便地添加自定义需求。jMock 可以和既有的其他测试框架,如JUnit,很好地整合在一起,共同使用。 背景介绍 在jMock 的官方网站上有关于该项目开发团队的人员介绍。目前具有提交权限的开发人员有5 位,他们分别是:Steve Freeman、TimMackinnon、Nat Pryce、Mauro Talevi 和JoeWalnes。值得一提的是,这几位开发者几乎都是来自以敏捷实践见长的ThoughtWorks。其中,Steve Freeman 和Nat Pryce 共同参加了2006 年4 月在英国牛津举行的ACCU Conference,并做了主题演讲,内容是关于jMock APIs 的演化,以及在Java 和C# 领域,内嵌式DSL(领域特定语言)的编写技术。 作为jMock 项目主要开发者之一的SteveFreeman,是敏捷软件开发方面的独立咨询师,他还是英国地区极限编程实践的早期推广者。他与除Mauro Talevi 外的另3 位jMock 作者共同撰写了一篇名为“Mock Roles, not Objects”的论文,探讨了有关mock 测试技术方面的经验。这篇论文被收录于2004 年的OOSPA 论文集中,在jMock 的官方主页可以找到该论文的电子版。除了jMock 之外,几位开发者还开发了jMock 的C# 实现版本——nMock。 除了开发人员以外,还有一些jMock 项目的贡献者,他们为项目提供建议、补丁及文档。不过,jMock的在线文档资源并不是很丰富,好在jMock的代码简单而又精巧,因此有兴趣的读者不妨深入代码来一探究竟。 参考资料 网站类 / jMock的官方网站。在这里你可以找到jMock的最新下载版本,了解有关jMock的最新消息,还有相关的文档资源,告诉你如何用jMock来编写测试代码,如何掌握约束,以及与同类型Mock测试工具的对比。 / EasyMock的官方网站。这是一个与jMock有着类似功能的Mock测试框架。目前已经更新到了2.3版本,从2.2.2版本开始,EasyMock除了支持对接口的模拟外,还支持对类的模拟。 18.2 JMock (2) 快速上手教程 一个消息发布与订阅系统的例子 此处,我们通过一个简单的示例来为读者示范jMock 的使用方法。这是一个简化了的消息发布与订阅系统的例子,是典型的Observer 模式,熟悉设计模式的读者对此一定不会陌生。我们用Publisher来代表消息发送方,用Subscriber 来代表消息订阅方(即接收方)。以下是Subscriber 接口的定义: interface Subscriber { void receive(String message); } 一个Publisher 可以将消息(此处以String 类型的字符串对象来表达)发送给0 个或多个Subscriber 的具体实现类。而Subscriber 的具体实现类则通过Publisher 提供的接口向其注册。在本例中,我们旨在测试Publisher 的执行逻辑,而不关心具体Subscriber 的实现逻辑。为此,我们需要构造一个Mock 对象用以模拟Subscriber 的行为。然后将其注册到Publi

文档评论(0)

wf93679 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档