logo资料库

PowerMock实战手册.pdf

第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
资料共51页,剩余部分请下载后查看
. Programming系列丛书PowerMock实战手册作者汪文君创建时间2014-10-1版本1.0.0QQ532500648
Programming系列丛书更改履历操作人类型时间内容汪文君新建2014-10-1创建PowerMock实战的大纲汪文君新增2014-10-2编写第三到第五章的内容汪文君新增2014-10-3编写第五章到第十二章的内容
Programming系列丛书目录前言.....................................................................................................................................................61、为什么要写电子书..............................................................................................................62、为什么要总结PowerMock...............................................................................................73、分享是一种美德..................................................................................................................84、感谢.......................................................................................................................................8如何阅读.............................................................................................................................................9参考资料.............................................................................................................................................9适合人群.............................................................................................................................................9一、PowerMock介绍...................................................................................................................101.1、PowerMock不是重复发明轮子.................................................................................101.2、PowerMock解决了什么问题......................................................................................111.3、如何获得PowerMock..................................................................................................111.4、如何安装PowerMock..................................................................................................12二、PowerMock入门...................................................................................................................122.1、使用场景.........................................................................................................................122.2、PowerMock之HelloWorld.......................................................................................142.2.1、获取所有员工的个数..........................................................................................142.2.2、创建员工..............................................................................................................172.3、重点API解释.................................................................................................................182.3.1、Mock...................................................................................................................182.3.2、Do..when..then.................................................................................................18
Programming系列丛书2.3.3、Verify...................................................................................................................192.4、总结.................................................................................................................................19三、MockLocalVariable...........................................................................................................193.1、有返回值.........................................................................................................................193.2、局部变量的void方法...................................................................................................223.3、@RunWith和@PrepareForTest介绍......................................................................233.4、总结.................................................................................................................................24四、MockStatic...........................................................................................................................254.1、问题场景.........................................................................................................................254.2、单元测试.........................................................................................................................264.3、使用Mock......................................................................................................................27五、Verifying................................................................................................................................285.1、使用场景.........................................................................................................................285.2、业务代码.........................................................................................................................295.3、测试代码.........................................................................................................................315.4、Verifying其他API........................................................................................................33六、Mockfinal.............................................................................................................................336.1、业务代码.........................................................................................................................336.2、EasyMock测试.............................................................................................................346.3、PowerMock测试..........................................................................................................37七、Mockconstructors.............................................................................................................387.1、使用场景.........................................................................................................................38
Programming系列丛书7.2、业务代码.........................................................................................................................387.3、PowerMock测试..........................................................................................................397.4、whenNew语法.............................................................................................................40八、ArgumentsMatcher...........................................................................................................418.1、使用场景.........................................................................................................................418.2、业务代码.........................................................................................................................418.3、PowerMock测试..........................................................................................................42九、Answerinterface.................................................................................................................449.1、使用场景.........................................................................................................................449.2、业务代码.........................................................................................................................449.3、PowerMock测试..........................................................................................................459.4、answer接口中参数InvocationOnMock.................................................................46十、Mockingwithspies..............................................................................................................4710.1、使用场景.......................................................................................................................4710.2、PowerMock测试.......................................................................................................4810.3、何时使用Spy...............................................................................................................49十一、Mockingprivatemethods...........................................................................................4911.1、使用场景.......................................................................................................................4911.2、业务代码.......................................................................................................................5011.3、PowerMock测试.......................................................................................................50十二、总结.....................................................................................................................................51
Programming系列丛书前言以前很讨厌看别人写的书中有《前言》这种东西,但是随着自己编写的资料越来越多,也越来越觉得写这种东西的必要性,因为在这个章节中可以和之前的读者解释一些东西,或者表达一些自己的想法,当然你也可以理解为发牢骚。1、为什么要写电子书回想从开始总结的第一天开始已经有过去了五个年头,我虽然产量不高,但是已经有11本电子书在互联网上传播,很多时候周围的人问我你为什么写这些东西,你的那破玩意又不能赚钱,这要从08年说起,我记得当时做一个关于webservices的项目,当时在网上的资料不多,官方文档由于本人当时英语能力很差,阅读起来相当费劲,幸好找到了一个webservice群,群主和其中的一些成员写了两本关于Axis和xfire的电子书,很完整,总结的很用心,通过阅读这两本电子书我得以顺利完成项目,记得当时也是一个职场新人,第一次感受到来自互联网非常系统的帮助,作者文笔幽默,废话很少,写的很细致,看得出来是一位非常用心的人,后来我们也成了互联网上的好朋友,每次百度或者谷歌一些中文资料,很多人都在相互抄袭,或者原创的一些文档总是站在自己的角度去思考和撰写文档,因此我在思考,自己能否在闲暇之余也通过较为具体,能让所有的人都能够明白的写作方式,让他们懂得某种框架,某种技术,虽然力量绵薄到可以忽略不计,但是长年累月从我收到的各种反馈来看似乎也帮到了一些人,不管是他们对你的赞美还是他们对你写作过程中问题的指责,相互的成长已经让我不能停下总结的脚步。关于另外一个原因是,口头表达有时候不能够说明一些问题,比如我发音IP和RP在别人听来一直是同一个东西,虽然我自己分的很清楚,但是项目组的同事们都觉得我是在说
Programming系列丛书同一个东西,这让我很苦恼,还有诸如此类的Security,我将重音放在了第一个音节,其实他是第二个音节,所以写出来和大家交流会显得更加具体。2、为什么要总结PowerMockChad一直在和我说一个很重要的观点,我们项目组发布出去的产品不可能存在问题,要有问题也是操作不当引起的,Chad为什么会一直强调这样的一个观点,原因就是我们一直在做持续集成,一个小时一次的全量单元测试,而且单元测试还在不断的完善,不断的增加,几个月以来我们的持续集成环境单元测试运行次数已经超过5000多次,这样的产品质量想出问题真的不是一件容易的事情,我们之间还探讨了关于Freebug的话题(零bug),一致认为软件的质量原因有如下几个:1、架构设计的问题2、软件编码的问题3、产品设计和需求分析的题4、运行环境的问题其中第二个问题真的可以在单元测试的过程中,以及不断的持续集成过程中让他逐渐的趋于零,当然这是需要一个很漫长的过程,在单元测试中不断的修复,不断的重构直到他不断的趋于完美是完全有可能做到的,这也是为什么要总结一下使用PowerMock的原因,或许有些读者会认为PowerMock已经是一个快要进博物馆的技术了,为什么还要专门来编写书籍去教大家怎么用,再说了互联网上零零碎碎的知识点足够让所有人掌握这一个测试框架,的确是这样的,但是一群人觉得毫无帮助,不代表所有人觉得毫无帮助,据我了解到的国内还真的有很少比例的公司在做持续集成的开发,如果您是一个PowerMock的老手,
Programming系列丛书看到我的电子书希望能够指正其中的问题,如果您是一个新手希望使用这个框架或者想更加的系统学习这个框架,也许能够带给你一些帮助,不信,走着瞧!3、分享是一种美德任何时候都不要觉得自己的分享是毫无价值的,最起码你做到了对某个知识点的系统梳理,在梳理的过程中你会有更多的思考,将您的思考过程以及系统知识整理出来可以让您巩固该知识点并且当作一个复习的资料,如果更进一步的话,那么就分享出来吧,很多人都很想看您是如何思考一个问题,您的思考过程是怎样的,这真的是一件非常有趣的事情,如果您觉得您的文笔不足以描述您所掌握的知识点,那么教会我吧,我个人认为文笔还算不错,交代某些事情还是能够做到条理清晰的,除了我自认为在程序员中我文笔不错之外,我还认为自己是程序员中最帅的一个,当然很多人对此视而不见甚至不承认罢了。4、感谢如同我之前讨厌所谓的前言一样,我之前也是不怎么待见《感谢》,但是当自己在一路成长的过程中得到了很多人的支持和帮助,就想找到一个比较书面的机会,默默的表达自己心中的感激,如果有一天他们不小心看到了这样的文字,说不定会流出两行滚烫的泪水,哈哈,感谢我经历的四家公司,在所在的团队从来没有出现过别人抱怨的事情,我总觉得我们之间的协作是如此的融洽,每一个人都是那样的无私,都是那样的乐于分享,让我在成长的过程中收到了很多技术上面的知识,态度上面的纠正,如此这些不仅在影响着我的工作,也影响着我对待生活的方式,感谢和所有团队同事相处的每一次机会,另外要感谢我的家庭,他们包容着我一直宅在家里,还有有时候的坏脾气。好了废话不多说了,开始我们的PowerMock之旅吧!
分享到:
收藏