JUnit Recipes中文版

JUnit Recipes中文版
作 者: 雷恩斯伯格 斯特灵 陈浩 王耀伟 李笑
出版社: 电子工业出版社
丛编项: 程序员实用测试技巧
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 语言与开发工具 程序语言与软件开发 计算机与互联网
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书提供作译者介绍J.B.Rainsberger既是程序员,又是一名顾问,并从2001年起担任JUnit社区的领导人。他著名的JUnit在线指南:A Starter Gude,每个月都以数千计的JUnit使用者阅读。Joe目前生活在加拿大多伦多。

内容简介

世界顶级技术大师,《敏捷软件开发:原则、模式与实践》作者Robert C.Martin鼎力推荐。“没有任何一本书能像他的这本书一样,在一本书内收录这么多关于JUnit和单元测试的智慧、知识和实践建议……我很确信这本书将成为我书架上最容易拿到的几本书之一,这样我就可以在急需的时候迅速拜读其中的内容。”“此书必学!此书将你引至通向专业技能的大道上。”——Brian Marick,The Craft of Software Tesing作者“……强有力地表述了测试能够提高生产力和软件质量的观点。”Michael Rabbior,IBM“作者的阐述方法是:我知道那个,我也做过那个,我的经验是不要那么做。”——Vladimir Ritz Bossicard,JUnit开发团队成员“……本书是本‘模式参考’——系多年积累而来……”——Eric Armstrong,Jbuilder 2 Bible作者/Sun Computing顾问本书主要介绍了在Java开发中使用JUnit进行单元测试的各种方法、原则、技巧与实践。本书出自开发一线专家之手,本着实用的原则,涵盖各类Java开发中应用JUnit的实用技巧,内容丰富、全面深入;无论对于需要应用JUnit进行单元测试的一线Java开发人员,还是JUnit入门、进阶者,本书都是一本不可多得的实用指南。这本书介绍了大量的JUnit实用测试技巧,从如何命名测试类到测试复杂的J2EE应用(包括servlets, JSP, EJB和JMS组件等),它告诉您如何在不同情况下优化自己的代码。每个测试技巧都依照固定的格式进行介绍:首先提出问题及其背景知识,然后探讨具体的解决方案。因此,本书的技巧实际上被编写成了一百多个相互独立的短文,每个问题都面向一个特定的JUnit使用问题,您可以在遇到具体问题的时候,随时查阅它。

图书目录

前言

序言

致谢

关于此书

关于封面插图

第1部分基石

第l章基础概念

1.1什么是程序员测试

1.1.1对象测试的目的

1.1.2 “对象测试”的节奏

1.1.3单元测试的框架

1.1.4进入JUnit

1.1.5理解测试驱动开发

1.2开始使用JUnit

1.2.1下载和安装Juni

1.2.2编写一个简单的测试

1.2.3理解TestCase类

1.2.4失败信息

1.2.5 JUnit怎样表示一个失败的断言

1.2.6失败和错误的区别

1.3一些好的实践

1.3.1测试和测试类的命名约定

1.3.2测试的是行为,而不是方法

1.4总结

第2章码元测试

2.1测试你的equals方法

2.2测试一个没有返回值的方法

2.3测试构造函数

2.4测试获取器

2.5测试设置器

2.6测试接口

2.7测试JavaBean

2.8测试是否抛出正确的异常

2.9 容器自己进行比较

2.10测试一个巨型对象的相等性

2.1 1测试一个拥有其他对象的对象

第3章组织和编译JUnit测试

3.1将测试类与产品代码放在同一个包中

3.2为测试代码创建独立的源代码树

3.3区分测试包和产品包

3.4抽取一个测试模块

3.5提取一个测试装置层次结构

3.6引入一个基本测试用例

3.7将对特殊用例的测试放到一个单独的测试装置里

3.8从命令行编译测试代码

3.9使用Ant编译测试代码

3.10使用Eclipse编译测试代码

第4章管理Test Suites

4.1 ]~JUnit创建Test Suite

4.2归纳专用的TestCase

4.3收集一个package中所有的测试

4.4收集系统中的所有测试

4.5为测试扫描文件系统

4.6分离不同的Test Suife

4.7控制某些测试的顺序

4.8创建数据驱动的Test Suite

4.9使用XML定义TestSuite

第5章使用测试数据进行测试

5.1使用Java的系统属性

5.2使用环境变量

5.3使用内联数据文件

5.4使用属性文件

5.5使用ResourceBundle API

5.6使用基于文件的测试数据仓库

5.7使用XML描述测试数据

5.8使用Ant的<sql>任务来操作数据库

5.9使用JUnitPP

5.10为整个Test Suite建立设置实体

5.11为多个测试执行单次环境设置

5.12使用DbUnit

第6章运行JUnit测试

6.1运行时看见测试的名字

6.2在用基于文本的测试运行器时,怎样观察每个被执行的测试的名字

6.3执行单个的测试

6.4在单独的JVM中执行每个测试

6.5在每个测试前重新装载类

6.6略过一个测试

第7章汇报JUnit结果

7.1使用带日志功能的基础测试类

7.2使用Log4Unit

7.3用Ant获取纯文本的结果

7.4使用Ant的<iunitreport>任务将结果输出为HTML格式

7.5使用XSLT白定义qunit>XML报告

7.6拓展Ant的Junit结果格式

7.7实现TestListener拓展TestRunner

7.8报告断言的总数

第8章为JUnit排除疑难

8.1 JUnit无法找到你的测试

8.2 JUnit不执行你自定义的Test Suite

8.3 JUnit没有设置你的测试实体

8.4覆盖runTest(、)方法后测试建立失败

8.5第一个断言失败后测试停止了

8.6 图形化的Test Runner没有正确地装载你的类

8.7当测试类使用JAXP的时候JUnit失败了

8.8当指向一个EJB引用时JUnit失败

第2部分测试J2EE

第9章测试与XML

9.1验证文档中元素的顺序

9.2忽略XML文档中元素间的顺序

9.3在XML文档中忽略特定种类的差异

9.4从XMLUnit中获得更详细的错误消息

9.5测试静态Web页面的内容

9.6单独测试XSL样式表

9.7在测试中验证xML文档

第lO章测试与JDBC

10.1测试从ResultSet创建domain object

10.2验证你的SQL语句

10.3测试你的数据库

10.4确定测试释放了JDBC资源

10.5核实你的产品代码释放了JDBC资源

10.6在你的测试功能中管理外部数据

10.7管理测试数据库中的测试数据

10.8测试部署schema对象时的权限

10.9脱离数据库来测试legacy JDBC代码

10.10联合数据库测试遗留的JDBC代码

10.1 1联合DbUnit使用schema-qualified的表

10.12测试存储过程

第11章测试EJB

11.1 脱离容器测试一个session bean的方法

11.2测试一个遗留的session bean

11.3在实际的容器中测试session bean

11.4测试CMP entity bean

11.5在容器外测试CMP meta data

11.6测试BMPentity bean

11.7在容器中测试message-driven bean

11.8在容器外测试一个message-driven bean

11.9测试遗留的message-driven bean

11.10脱离消息服务器测试一个JMS消息使用者

11.11测试JMS消息的处理

11.12测试一个JMS消息生成器

11.13测试你的JNDI目录中的内容

第12章测试web组件

12.1脱离容器测试会话数据的更新

12.2测试HTTP session数据对象的更新

12.3测试解析JSP

12.4测试对Velocity模板的解析

12.5测试一个JSP tag handler

12.6测试你的JSP标签库的部署

12.7测试servlet的初始化

12.8测试ServletContext

12.9测试对request的处理

12.10脱离服务器来验证网页内容

12.1 1验证表单属性

12.12校验传递到页面模板的数据

12.13测试web资源过滤器

第13章测试J2EE应用

13.1测试页面流

13.2在Struts应用中测试导航规则

13.3测试你的网站以寻找失效的链接

13.4测试web资源的安全性

13.5测试EJB资源的安全性

13.6测试容器管理的事务处理

第3部分其他JUnit技术

第14章测试设计模式

14.1测试一个Observer(Event Listener)

14.2测试可观测的事件源

14.3测试一个Singleton

14.3测试一个Singleton的客户端

14.5测试一个对象工厂

14.6测试一个Template方法的实现

第15章GSBase

15.1用EventCather检查事件源

15.2测试序列化

15.3测试克隆对象

15.4用“appears equal'’来比较JavaBean

第16章JUnit-addons

16.1测试你的类的compareTo()方法

16.2从档案文件里自动收集测试

16.3用PropertyManager来组织测试数据

16.4管理共享的测试资源

16.5保证你的共享测试组件会把自己卸掉

16.6在执行每个测试时报告其名称

第17章补遗

17.1在测试问清理文件系统

17.2不依赖文件系统的情况下测试基于文件的应用.

17.3检验你的测试用例类的语法

17.4提取定制的断言

17.5测试一个无返回值的继承方法

17.6如果你必须测试一个private方法

附录A完整方案

A.1用XML定义一个测试

A.2覆盖runTest()的参数化测试用例

A.3忽略XML文档中的元素次序

A.4隔离测试一个XSL样式表

A.5使你的测试中的XML文档生效

A.6基于方面的通用Spy

A.7测试一个BMP实体bean

附录B测试的文章

B.1简单得不能拆分

B.2奇特性与传递性

B.3隔离高开销的测试

B.4仿制对象概览

附录C阅读清单

参考文献

索引