当前位置:首页 > 工业技术
JUnit Recipes中文版 程序员实用测试技巧
JUnit Recipes中文版 程序员实用测试技巧

JUnit Recipes中文版 程序员实用测试技巧PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:(加)雷恩斯伯格(Rainsberger,J.B.),(加)斯特灵(Stirling,S.)著;陈浩,王耀伟,李笑译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121030993
  • 页数:615 页
图书介绍:本书主要介绍了在Java开发中使用JUnit进行单元测试的各种方法、原则、技巧与实践。本书出自开发一线专家之手,本着实用的原则,涵盖各类Java开发中应用JUnit的实用技巧,内容丰富、全面深入;无论对于需要应用JUnit进行单元测试的一线Java开发人员,还是JUnit入门、进阶者,本书都是一本不可多得的实用指南。这本书介绍了大量的JUnit实用测试技巧,从如何命名测试类到测试复杂的J2EE应用(包括servlets, JSP, EJB和JMS组件等),它告诉您如何在不同情况下优化自己的代码。每个测试技巧都依照固定的格式进行介绍:首先提出问题及其背景知识,然后探讨具体的解决方案。因此,本书的技巧实际上被编写成了一百多个相互独立的短文,每个问题都面向一个特定的JUnit使用问题,您可以在遇到具体问题的时候,随时查阅它。
《JUnit Recipes中文版 程序员实用测试技巧》目录

第1部分 基石 1

第1章 基础概念 3

1.1 什么是程序员测试 4

1.1.1 对象测试的目的 5

1.1.2 “对象测试”的节奏 5

1.1.3 单元测试的框架 6

1.1.4 进入JUnit 8

1.1.5 理解测试驱动开发 8

1.2 开始使用JUnit 9

1.2.1 下载和安装JUnit 9

1.2.2 编写一个简单的测试 11

1.2.3 理解TestCase类 12

1.2.4 失败信息 14

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

1.2.6 失败和错误的区别 15

1.3 一些好的实践 15

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

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

1.4 总结 18

第2章 码元测试 21

2.1 测试你的equals方法 24

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

2.3 测试构造函数 34

2.4 测试获取器 37

2.5 测试设置器 40

2.6 测试接口 43

2.7 测试JavaBean 47

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

2.9 让容器自己进行比较 53

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

2.11 测试一个拥有其他对象的对象 57

第3章 组织和编译JUnit测试 63

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

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

3.3 区分测试包和产品包 70

3.4 抽取一个测试模块 73

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

3.6 引入一个基本测试用例 79

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

3.8 从命令行编译测试代码 83

3.9 使用Ant编译测试代码 84

3.10 使用Eclipse编译测试代码 87

第4章 管理Test Suites 91

4.1 让JUnit创建Test Suite 92

4.2 归纳专用的Test Case 96

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

4.4 收集系统中的所有测试 101

4.5 为测试扫描文件系统 103

4.6 分离不同的Test Suite 106

4.7 控制某些测试的顺序 109

4.8 创建数据驱动的Test Suite 112

4.9 使用XML定义Test Suite 117

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

5.1 使用Java的系统属性 123

5.2 使用环境变量 127

5.3 使用内联数据文件 129

5.4 使用属性文件 131

5.5 使用ResourceBundle API 135

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

5.7 使用XML描述测试数据 139

5.8 使用Ant的〈sql〉任务来操作数据库 140

5.9 使用JUnitPP 141

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

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

5.12 使用DbUnit 150

第6章 运行JUnit测试 153

6.1 运行时看见测试的名字 157

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

6.3 执行单个的测试 159

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

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

6.6 略过一个测试 164

第7章 汇报JUnit结果 167

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

7.2 使用Log4Unit 172

7.3 用Ant获取纯文本的结果 176

7.4 使用Ant的〈junitreport〉任务将结果输出为HTML格式 179

7.5 使用XSLT自定义〈junit〉XML报告 182

7.6 拓展Ant的Junit结果格式 185

7.7 实现TestListener拓展TestRunner 191

7.8 报告断言的总数 199

第8章 为JUnit排除疑难 207

8.1 JUnit无法找到你的测试 209

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

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

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

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

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

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

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

第2部分 测试J2EE 231

第9章 测试与XML 233

9.1 验证文档中元素的顺序 239

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

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

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

9.5 测试静态Web页面的内容 253

9.6 单独测试XSL样式表 259

9.7 在测试中验证XML文档 263

第10章 测试与JDBC 267

10.1 测试从ResultSet创建domain object 275

10.2 验证你的SQL语句 278

10.3 测试你的数据库 283

10.4 确定测试释放了JDBC资源 290

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

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

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

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

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

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

10.11 联合DbUnit使用schema-qualified的表 313

10.12 测试存储过程 316

第11章 测试EJB 319

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

11.2 测试一个遗留的session bean 333

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

11.4 测试CMP entity bean 341

11.5 在容器外测试CMP meta data 344

11.6 测试BMP entity bean 350

11.7 在容器中测试message-driven bean 355

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

11.9 测试遗留的message-driven bean 363

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

11.11 测试JMS消息的处理 369

11.12 测试一个JMS消息生成器 372

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

第12章 测试web组件 381

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

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

12.3 测试解析JSP 393

12.4 测试对Velocity模板的解析 400

12.5 测试一个JSP tag handler 402

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

12.7 测试servlet的初始化 410

12.8 测试ServletContext 413

12.9 测试对request的处理 415

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

12.11 验证表单属性 425

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

12.13 测试web资源过滤器 430

第13章 测试J2EE应用 437

13.1 测试页面流 439

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

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

13.4 测试web资源的安全性 452

13.5 测试EJB资源的安全性 455

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

第3部分 其他JUnit技术 463

第14章 测试设计模式 465

14.1 测试一个Observer(Event Listener) 466

14.2 测试可观测的事件源 471

14.3 测试一个Singleton 476

14.3 测试一个Singleton的客户端 479

14.5 测试一个对象工厂 481

14.6 测试一个Template方法的实现 484

第15章 GSBase 489

15.1 用EventCather检查事件源 491

15.2 测试序列化 493

15.3 测试克隆对象 495

15.4 用“appears equal”来比较JavaBean 497

第16章 JUnit-addons 501

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

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

16.3 用PropertyManager来组织测试数据 506

16.4 管理共享的测试资源 508

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

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

第17章 补遗 517

17.1 在测试间清理文件系统 518

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

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

17.4 提取定制的断言 529

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

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

附录A 完整方案 539

A.1 用XML定义一个测试 540

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

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

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

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

A.6 基于方面的通用Spy 553

A.7 测试一个BMP实体bean 556

附录B 测试的文章 571

B.1 简单得不能拆分 572

B.2 奇特性与传递性 574

B.3 隔离高开销的测试 577

B.4 仿制对象概览 584

附录C 阅读清单 589

参考文献 593

索引 599

相关图书
作者其它书籍
返回顶部