请输入您要查询的百科知识:

 

词条 JUNIT IN ACTION中文版
释义

基本信息

原书名: JUNIT IN ACTION原出版社: Manning Publications

作者: Vincent Massol, Ted Husted

译者: 鲍志云

出版社:电子工业出版社

ISBN:7121004836

上架时间:2004-11-25

出版日期:2004 年10月

开本:16开

页码:388

版次:1-1

内容简介

本书主要介绍了在java软件开发中使用junit进行测试的原则、技巧与实践,深入阐述如何编写自动测试,把一段代码隔离开来测试有什么好处,如何判断何时需要进行整合测试,并对如何测试完整的j2ee应用进行了极具价值的讨论。本书富含开发实践当中的真实案例,以专家手笔讨论了实践中的测试技术,主要内容包括:用mock objects进行隔离测试;用cactus进行容器内测试;用ant和maven进行自动构建;在eclipse内进行测试;对java应用程序、 filter、servlet、ejb、jsp、数据库应用程序、taglib等进行单元测试。

本书适合于在java平台下进行各类软件开发的开发人员、测试人员、单元测试研习者以及编程爱好者阅读和学习,具有极高的参考价值。

熟知业界动向的开发者正在转向一种新的测试策略--单元测试。在单元测试中,代码和测试互相交织。这种强有力的方法会让软件具有更好的设计、更少的缺陷、更快的交付周期。单元测试以"能激励开发者的士气"闻名--每当开发者往前迈进一步,他们的信心也随之增加,因为他们知道以前迈出的每一步都踏踏实实、正确无误。

junit in action 这本书能让你快速开始这一新的编程方式。在编程时你无可避免地会常常犯错,你会希望尽早发现这些错误。通过(经常)使用单元测试,你能做到这一点。本书充满了现实世界中的真实案例,以专家手笔讨论了实践中的测试技术。本书能告诉你如何编写自动测试,把一段代码隔离开来测试有什么好处,如何判断何时需要进行整合测试。本书还就如何测试完整的j2ee应用进行了极具价值且独一无二的讨论。

目录

目录

译序        iii

前言        xiii

致谢        xv

关于本书        xvii

关于作者        xxi

关于书名        xxii

关于封面        xxiii

第1部分 junit精粹        1

1 junit起步        3

1.1 证实它能运作        4

1.2 从头开始        6

1.3 理解单元测试框架        10

1.4 安装junit        11

1.5 用junit测试        13

1.6 小结        16

2 探索junit        17

2.1 探索junit核心        18

2.2 用test runner来运行测试        20

2.2.1 选择test runner        20

.2.2.2 定义你自己的test runner        21

2.3 用testsuite来组合测试        21

2.3.1 运行自动suite        22

2.3.2 编写你自己的test suite        23

2.4 用testresult来收集参数        25

2.5 用testlistener来观察结果        27

2.6 用testcase来工作        28

2.6.1 用fixture来管理资源        29

2.6.2 创建单元测试方法        30

2.7 创建testcalculator全过程        32

2.7.1 创建testsuite        33

2.7.2 创建testresult        35

2.7.3 执行测试方法        36

2.7.4 复习完整junit生命周期        37

2.8 小结        38

3 junit实例        39

3.1 引入controller组件        40

3.1.1 设计接口        41

3.1.2 实现基类        43

3.2 让我们来测试吧        45

3.2.1 测试defaultcontroller        46

3.2.2 增加处理器        46

3.2.3 处理请求        50

3.2.4 改进testprocessrequest        54

3.3 测试异常处理        55

3.3.1 模拟异常条件        56

3.3.2 测试异常        60

3.4 建立测试项目        62

3.5 小结        64

4 探索软件测试        65

4.1 单元测试的必要性        66

4.1.1 带来更大的测试范围        67

4.1.2 带来团队协作的可能        67

4.1.3 防止衰退,减少调试        67

4.1.4 使得重构可行        68

4.1.5 改进实现设计        69

4.1.6 当作开发者文档来用        69

4.1.7 非常有趣        70

4.2 不同种类的测试        71

4.2.1 软件测试的4种类型        71

4.2.2 单元测试的3种类型        75

4.3 判断测试质量        77

4.3.1 衡量测试覆盖面        78

4.3.2 产生测试覆盖情况报告        79

4.3.3 测试交互        81

4.4 测试驱动开发        81

4.4.1 调整周期        81

4.4.2 tdd两步走        83

4.5 在开发周期中的测试        84

4.6 小结        87

5 junit自动化        88

5.1 生命中的一天        89

5.2 从ant中执行测试        90

5.2.1 不可缺少的ant        91

5.2.2 ant目标、项目、属性以及任务        92

5.2.3 javac任务        94

5.2.4 junit任务        96

5.2.5 让ant来执行任务        97

5.2.6 用junitreport打印好看的报告        98

5.2.7 自动找出要运行的测试        100

5.3 从maven运行测试        102

5.3.1 maven,目标寻找者        102

5.3.2 为项目配置maven        104

5.3.3 使用maven来执行junit测试        109

5.3.4 用maven处理要依赖的jar        109

5.4 从eclipse中运行测试        112

5.4.1 创建一个eclipse项目        112

5.4.2 在eclipse中运行junit测试        114

5.5 小结        116

第2部分 测试策略        117

6 用stub进行粗粒度测试        119

6.1 stub简介        120

6.2 一个http连接的例子        121

6.2.1 选择一个替换方案        124

6.2.2 用jetty作为嵌入式服务器        125

6.3 替换web服务器资源        126

6.3.1 建立第一个stub测试        126

6.3.2 测试失败情况        132

6.3.3 回顾第一个stub测试        133

6.4 替换连接        134

6.4.1 创建自定义url协议处理器        134

6.4.2 创建jdk的httpurlconnection stub        136

6.4.3 运行测试        137

6.5 总结        138

7 用mock objects 进行孤立测试        139

7.1 mock objects简介        140

7.2 体验mock objects:一个简单例子        141

7.3 把mock objects用作重构手法        146

7.3.1 方便的重构        147

7.3.2 允许更灵活的代码        148

7.4 实践http连接示例程序        150

7.4.1 定义mock object        150

7.4.2 测试示例方法        151

7.4.3 尝试1:简单的方法重构技法        152

7.4.4 尝试2:使用类工厂进行重构        155

7.5 把mock objects用作特洛伊木马        159

7.6 决定何时使用mock objects        163

7.7 小结        164

8 使用cactus进行容器内测试        165

8.1 对组件进行单元测试的问题        166

8.2 用mock objects测试组件        167

8.2.1 用easymock来测试servlet例子        168

8.2.2 用mock objects测试组件的优势与不足        170

8.3 什么是集成单元测试        172

8.4 介绍cactus        173

8.5 用cactus测试组件        173

8.5.1 运行cactus测试        174

8.5.2 用cactus/jetty集成来执行测试        174

8.5.3 容器内测试的缺点        178

8.6 cactus如何工作        179

8.6.1 在客户端和服务器端的步骤        180

8.6.2 一步步执行测试        180

8.7 小结        182

第3部分 测试组件        185

9 对servlet和filter 进行单元测试        187

9.1 介绍管理应用程序        188

9.2 用cactus编写 servlet 测试        189

9.2.1 设计第一个测试        190

9.2.2 使用 maven 来运行cactus测试        192

9.2.3 完成 cactus servlet 测试        198

9.3 用mock objects测试 servlet        204

9.3.1 使用 dynamocks 和 dynabeans写一个测试        205

9.3.2 完成 dynamock 测试        206

9.4 用cactus写filter测试        208

9.4.1 用select查询测试filter        209

9.4.2 对其它的查询类型测试filter        210

9.4.3 用maven运行cactus filter测试        212

9.5 何时使用cactus,何时使用mock objects        213

9.6 小结        214

10 对jsp和taglib 进行单元测试        215

10.1 回顾管理应用软件        216

10.2 什么是jsp单元测试        217

10.3 单独使用cactus 对jsp进行单元测试        217

10.3.1 利用sql结果数据执行jsp        218

10.3.2 编写cactus测试        219

10.3.3 使用maven执行cactus jsp的测试程序        222

10.4 使用 cactus 对 taglib 进行单元测试        224

10.4.1 定义自定义标记        225

10.4.2 测试自定义标记        227

10.4.3 对带 body 的标记进行单元测试        228

10.4.4 对协作标记进行单元测试        233

10.5 用mock objects对taglib进行单元测试        233

10.5.1 mockmaker 及其 eclipse 插件的安装        234

10.5.2 用 mockmaker 从类中产生mock objects        234

10.6 何时使用mock objects,何时使用 cactus        237

10.7 小结        237

11 对数据库应用程序进行单元测试        239

11.1 对数据库进行单元测试的介绍        240

11.2 隔离开数据库测试业务逻辑        242

11.2.1 实现数据库访问层的接口        243

11.2.2 建立一个模拟数据库接口层        244

11.2.3 模拟数据库接口层        246

11.3 隔离开数据库测试持久性代码        247

11.3.1 测试execute方法        248

11.3.2 用预期验证状态        256

11.4 数据库集成单元测试的编写        260

11.4.1 满足数据库集成测试的要求        260

11.4.2 预设数据库数据        261

11.5 用ant 运行cactus测试        265

11.5.1 项目结构的回顾        265

11.5.2 cactus/ant 集成模块介绍        266

11.5.3 一步步建立ant build 文件        267

11.5.4 执行cactus测试        274

11.6 改进构建性能        275

11.6.1 分解出只读数据        275

11.6.2 按功能将测试分组        277

11.6.3 使用驻留内存数据库        278

11.7 数据库整体单元测试策略        278

11.7.1 选择一种方法        278

11.7.2 应用持续集成        279

11.8 小结        280

12 对ejb进行单元测试        281

12.1 定义一个简单的ejb应用程序        282

12.2 使用fa?ade策略        283

12.3 使用mock objects对jndi代码进行单元测试        284

12.4 对session bean进行单元测试        285

12.4.1 使用工厂方法策略        289

12.4.2 使用工厂类策略        293

12.4.3 使用mock jndi实现策略        297

12.5 使用mock objects测试message-driven bean        307

12.6 使用mock objects测试entity bean        310

12.7 选择正确的mock objects策略        312

12.8 使用集成单元测试        313

12.9 使用junit和远程调用        314

12.9.1 直接使用junit的要求        315

12.9.2 把petstore应用程序打包进ear文件        315

12.9.3 自动部署和执行测试        319

12.9.4 为petstoreejb编写远程的junit测试        325

12.9.5 修改jndi名字        326

12.9.6 运行测试        327

12.10 使用cactus        328

12.10.1 用cactus编写ejb单元测试        328

12.10.2 项目目录结构        329

12.10.3 打包cactus测试        329

12.10.4 执行cactus测试        333

12.11 小结        334

a 源代码说明        335

a.1 获取源代码        336

a.2 源代码概览        336

a.3 外部库        338

a.4 jar版本        339

a.5 目录结构惯例        340

b eclipse快速上手        341

b.1 安装eclipse        342

b.2 从源代码中建立eclipse项目        342

b.3 从eclipse中运行junit测试        343

b.4 从eclipse中执行ant脚本        344

b.5 从eclipse中运行cactus测试        345

参考文献        346

索引        351

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 17:08:02