随着敏捷开发在项目中的大量应用,特别是测试驱动开发的流行,我越发的体会到单元测试与其中所扮演的重要角色。
问不同的程序员,他们对单元测试的定义应该会不一样,或者说他们给出的解释会很笼统,不全面。这其实是由于单元测试本身的特点所决定的,一个测试的优与劣,不是由单一的因素决定,而是同时受多个变量的约束。此时,一本系统的介绍单元测试的书就显得格外重要。
书中,作者细致的阐述了衡量一个好的单元测试应该满足的条件,其中包扩了单元测试的简明性,可维护性,高效性,及测试范围等多个方面。此外,作者还用了大量的篇幅去解释如何实现单元测试的隔离性。个人认为,这是实现优秀的单元测试的最重要的一个环节,因为此性质是单元测试和整合测试最重要的差别所在。在帮助实现单元测试隔离的过程中,另外两个重要的概念也在书中有所谈及,这便是Mock和Stub。对于这两者关系和区别的最经典的解释可以参照Martin Folwer的文章。
余下的章节中,作者介绍了测试的构架,测试在项目中的应用,以及和设计相关的部分。
虽然书中的例子用的都是c#,但对于有面向对象基础的读者,是不会产生阅读障碍的。
作为附加参考,我还推荐robert的clean code和michael的working effectively with legacy code,他们的书中关于单元测试的部分也各自有他们独到的见解。
对单元测试最全面最准确的定义
《单元测试的艺术(第2版)》热门书评
-
对单元测试最全面最准确的定义
1有用 0无用 mhuiwang 2011-11-22
随着敏捷开发在项目中的大量应用,特别是测试驱动开发的流行,我越发的体会到单元测试与其中所扮演的重要角色。问不同的程序员,他们对单元测试的定义应该会不一样,或者说他们给出的解释会很笼统,不全面。这其实是由于单元测试本身的特点所决定的,一个测试的优与劣,不是由单一的因素决定,而是同时受多个变量的约束。此...
-
没读懂这句话。。。
0有用 0无用 ZenC 2014-10-20
P8If you can’t fully automate your unit tests,you’ll probably avoid running them repeatedly,as will everyone else on your team.如果不能完全自动化单元测试,你很可能会避免重复...
-
读不下去了。。。
0有用 0无用 我是双鱼男 2014-11-17
读不下去了。。。文字和配图根本驴头不对马嘴。。。代码也是乱乱的。。。return后边突然就来了一个Return....文字写的是FakeService,图里是MockWebService...哎,看着好蛋疼。。。...
-
想学习单元测试的话,推荐读一读这本书~
0有用 0无用 gyzhao 2015-02-05
这本书由浅入深的介绍了单元测试方方面面的知识,包括最基本的单元测试的定义、如何编写简单的单元测试、如何解除系统中的依赖(在单元测试中)之外,还告诉我们如何编写优秀的单元测试,以及如何向组织中引入单元测试,如何处理遗留代码的问题,如何设计易于测试的代码。全书的结构层次分明,内容也是渐进式的推进,所以还...
-
翻译的不是一般的烂
0有用 0无用 hhdehh 2016-05-19
建议下载第一版来读,不是为了图方便我也不会买这个纸质版。到第三章以后已经不是文不对题的问题了而是省略了很多很关键的东西。以后打死也不买这个烂人翻译的书了。比如3.4.6 3 小结原书关于兔子洞的精彩比方就被省略了,我简直无语。...
书名: 单元测试的艺术(第2版)
作者: [以色列] Roy Osherove
出版社: 人民邮电出版社
译者: 金 迎
出版年: 2014-8
页数: 244
定价: 59.00
装帧: 平装
ISBN: 9787115360359