图书介绍

JUnit实战 原书第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

JUnit实战 原书第2版
  • (美)塔凯文;(美)莱蒙,(美)马索尔等著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115274755
  • 出版时间:2012
  • 标注页数:442页
  • 文件大小:83MB
  • 文件页数:469页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

JUnit实战 原书第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 认识JUnit3

第1章JUnit起步3

1.1证实它能运行4

1.2从零开始6

1.3理解单元测试框架8

1.4 JUnit的设计目标9

1.5安装JUnit9

1.6使用JUnit测试10

1.7小结13

第2章 探索JUnit的核心14

2.1探索JUnit核心15

2.2运行参数化测试17

2.3 JUnit的测试运行器18

2.3.1测试运行器简介18

2.3.2 JUnitCore facade19

2.3.3自定义测试运行器20

2.4用Suite来组合测试20

2.4.1组合一组测试类20

2.4.2组合一组测试集21

2.4.3 Suite、IDE、Ant与Maven22

2.5小结23

第3章 掌握JUnit24

3.1引入controller组件24

3.1.1设计接口25

3.1.2实现基类27

3.2让我们来测试它29

3.2.1测试DefaultController29

3.2.2添加一个处理器30

3.2.3请求处理33

3.2.4改进testProcessRequest37

3.3测试异常处理38

3.3.1模拟异常条件39

3.3.2测试异常42

3.4超时测试43

3.5引入Hamcrest匹配器45

3.6创建测试项目48

3.7小结49

第4章 软件测试原则50

4.1单元测试的必要性51

4.1.1带来更高的测试覆盖率51

4.1.2提高团队效率51

4.1.3监测衰退和减少调试51

4.1.4自信地重构52

4.1.5改进实现52

4.1.6将预期的行为文档化53

4.1.7启用代码覆盖率以及其他指标53

4.2测试类型54

4.2.1软件测试的4种类型54

4.2.2单元测试的3种类型57

4.3黑盒测试与白盒测试58

4.4小结60

第2部分 不同的测试策略63

第5章 测试覆盖率与开发63

5.1测量测试覆盖率63

5.1.1测试覆盖率简介64

5.1.2 Cobertura简介64

5.1.3生成测试覆盖率报告66

5.1.4结合黑盒与白盒测试67

5.2编写可测试的代码68

5.2.1公共API是协议68

5.2.2减少依赖关系68

5.2.3创建简单的构造函数69

5.2.4遵循最少知识原则70

5.2.5避免隐藏的依赖关系与全局状态70

5.2.6单态模式的优点和缺点71

5.2.7优先使用通用方法72

5.2.8组合优先于继承73

5.2.9多态优先于条件语句73

5.3测试驱动开发74

5.3.1调整开发周期74

5.3.2 TDD的两个步骤75

5.4在开发周期中的测试76

5.5小结79

第6章 使用stub进行粗粒度测试80

6.1 stub简介81

6.2使用stub测试一个HTTP连接82

6.2.1选择使用stub的方案83

6.2.2使用Jetty作为嵌入式服务器84

6.3使用stub替换Web服务器资源86

6.3.1建立第一个stub测试86

6.3.2针对故障情况进行测试89

6.3.3回顾第一个stub测试90

6.4替换连接91

6.4.1创建自定义的URL协议处理器91

6.4.2创建一个JDK的HttpURLConnection stub92

6.4.3运行测试93

6.5小结94

第7章 使用mock objects进行测试95

7.1 mock objects简介96

7.2使用mock objects进行单元测试96

7.3使用mock objects来重构99

7.3.1重构示例100

7.4替换一个HT1T1P连接102

7.4.1定义mock objects103

7.4.2测试一个简单的方法104

7.4.3第一次尝试:简单的方法重构技巧104

7.4.4第二个尝试:使用类工厂来重构106

7.5把mocks用作特洛伊木马109

7.6介绍mnock框架112

7.6.1使用EasyMock112

7.6.2使用Mock116

7.7小结119

第8章 容器内测试121

8.1标准单元测试的局限性121

8.2 mock objects解决方案122

8.3容器内测试124

8.3.1实现策略124

8.3.2容器内测试框架125

8.4比较stub、mock objects和容器内测试125

8.4.1 stub的优点与缺点125

8.4.2 mock objects的优点和缺点126

8.4.3容器内测试的优点与缺点127

8.4.4容器内测试与容器外测试129

8.5小结129

第3部分JUnitit与构建过程133

第9章从Ant中运行JUnit测试133

9.1生命中的一天133

9.2从Ant中运行测试134

9.3认识并安装Ant135

9.4 Ant的目标、项目、属性以及任务136

9.4.1 javac任务138

9.4.2 JUnit任务139

9.5让Ant来执行任务140

9.6使用Ivy进行依赖管理141

9.7创建HTML报告143

9.8批处理测试145

9.9小结147

第10章从Maven2中运行JUnit测试148

10.1 Maven的功能149

10.1.1约定优于配置149

10.1.2强大的依赖管理150

10.1.3 Maven的构建生命周期151

10.1.4基于插件的架构152

10.1.5 Maven项目对象模型153

10.2建立一个Maven项目155

10.3 Maven插件的引入159

10.3.1 Maven的Compiler插件159

10.3.2 Maven的Surefire插件160

10.3.3使用Maven生成HTML格式的JUnit报告162

10.4 Maven的不足163

10.5小结164

第11章 持续集成工具165

11.1尝试持续集成165

11.1.1持续集成测试166

11.2拯救用户的CruiseControl168

11.2.1开始使用CruiseControl168

11.2.2创建一个示例项目169

11.2.3解析CruiseControl配置文件169

11.3另一个持续集成工具——Hudson174

11.3.1 Hudson简介175

11.3.2安装175

11.3.3配置Hudson176

11.3.4配置Hudson中的项目177

11.4持续集成的优势180

11.5小结180

第4部分JUnit扩展185

第12章 表示层的测试185

12.1选择测试框架186

12.2 HtmlUnit简介186

12.2.1一个实例186

12.3编写HtmlUnit测试187

12.3.1 HTML断言187

12.3.2对特定的Web浏览器进行测试188

12.3.3测试多个Web浏览器188

12.3.4创建独立的测试189

12.3.5导航对象模型191

12.3.6通过特定的元素类型访问元素191

12.3.7通过名字与索引访问元素191

12.3.8通过引用访问元素192

12.3.9使用XPath193

12.3.10测试失败和异常194

12.3.11应用程序与网络导航195

12.3.12使用HtmlUnit测试表单197

12.3.13 测试框架(frame)198

12.3.14测试JavaScript199

12.3.15测试CSS201

12.3.16 SSL错误202

12.4集成HtmlUnit和Cactus202

12.4.1在Cactus中编写测试202

12.5Selenium简介204

12.6生成Selenium测试206

12.6.1一个实例206

12.7运行Selenium测试207

12.7.1管理Selenium服务器207

12.7.2使用JUnit4运行Selenium测试208

12.8编写Selenium测试211

12.8.1针对特定的Web浏览器进行测试211

12.8.2测试多个浏览器212

12.8.3应用程序和网络导航214

12.8.4通过引用访问元素215

12.8.5通过异常使测试失败215

12.8.6使用Selenium测试表单216

12.8.7 测试JavaScript告警216

12.8.8捕获一个JUnit 3测试失败的截屏217

12.8.9捕获一个JUnit 4测测试失败的截屏217

12.9 HtmlUnit与Selenium218

12.10小结219

第13章Ajax测试220

13.1 Ajax应用程序难以测试的原因221

13.1.1传统的Web交互221

13.1.2Ajax交互221

13.1.3一个崭新的世界223

13.1.4 测试的挑战223

13.2 Ajax的测试模式223

13.2.1功能测试224

13.2.2客户端脚本单元测试224

13.2.3服务测试225

13.3功能测试225

13.3.1使用Seleniun进行功能测试225

13.3.2使用HtmlUnit进行功能测试229

13.4 JavaScript测试231

13.4.1使用RhinoUnit测试JavaScript231

13.4.2使用JsUnit测试JavaScript234

13.4.3编写JsUnit测试用例234

13.4.4编写JsUnit测试集236

13.4.5手动运行JsUnit测试用例237

13.4.6使用Ant自动运行JsUnit测试用例238

13.5RhinoUnit与JsUnit241

13.6使用JSLint检验最佳实践241

13.7使用HttpClient测试服务243

13.7.1调用XML服务243

13.7.2验证XML响应244

13.7.3验证JSON响应245

13.8测试Google Web工具箱应用程序247

13.8.1为GWT应用程序选择测试框架247

13.8.2手动创建GWTTestCase249

13.8.3使用junitCreator创建GWTTestCase251

13.8.4运行测试用例252

13.8.5安装和拆卸测试252

13.8.6创建测试集252

13.8.7运行测试集253

13.9小结253

第14章 使用Cactus进行服务器端的Java测试255

14.1什么是Cactus?256

14.2使用Cactus进行测试256

14.2.1你可以使用Cactus测试的Java组件256

14.2.2一般原则257

14.2.3 Cactus如何工作259

14.3测试servlet和filters261

14.3.1介绍管理应用程序262

14.3.2使用Cactus编写servlet测试262

14.4测试JSP268

14.4.1回顾管理应用程序268

14.4.2什么是JSP单元测试?269

14.4.3单独使用Cactus对JSP进行单元测试269

14.4.4利用SQL结果数据执行JSP270

14.5测试EJB272

14.6什么是Cargo?274

14.7使用Ant执行Cactus测试275

14.7.1用来准备文件的Cactus275

14.8使用Maven2x执行Cactus测试280

14.8.1 Maven2 cactifywarMOJO280

14.8.2 Maven2 cactifyearMOJO284

14.9从浏览器执行Cactus测试285

14.10小结286

第15章 测试JSF应用程序287

15.1引入JSF288

15.2介绍示例应用程序289

15.3测试JSF应用程序时的典型问题295

15.4测试JSF应用程序的策略296

15.4.1黑盒方法296

15.4.2 Mock object援救296

15.5使用JSUnit测试示例应用程序298

15.5.1从浏览器执行一个JSFUnit测试299

15.5.2使用JSFUnit测试Ajax299

15.6使用HtmlUnit与JSFUnit301

15.7 JSF应用程序的性能测试302

15.8小结304

第16章 测试OSGi组件305

16.1 OSGi简介306

16.2第一个OSGi服务307

16.2.1示例应用程序310

16.3测试OSGi服务313

16.3.1 Mock objects313

16.4引入JUmt4OSGi316

16.5小结320

第17章 测试数据库访问321

17.1数据库单元测试的阻抗不匹配322

17.1.1单元测试必须执行隔离的代码322

17.1.2单元测试必须易于编写和运行322

17.1.3单元测试必须运行快速323

17.2 DbUnit介绍323

17.2.1示例应用程序324

17.2.2设置DbUnit并运行示例应用程序325

17.3使用数据集来填充数据库325

17.3.1 剖析DatabaseOperation329

17.4用数据集断言数据库状态330

17.4.1过滤数据集332

17.4.2忽略数据列332

17.5使用ReplacementDataSet转换数据334

17.5.1使用ReplacementDataSet处理不同的ID问题334

17.5.2处理NULL值336

17.6从已有的数据库数据中创建数据集340

17.7高级技术341

17.7.1 DbUnit与模板设计模式341

17.7.2通过自定义注释提高重用344

17.7.3在数据集中使用表达式语言346

17.8数据库访问测试的最佳做法349

17.8.1每个开发者使用一个数据库349

17.8.2确保目标数据库被测试350

17.8.3为加载和存储数据创建互补测试350

17.8.4编写加载测试用例时,应涵盖所有基本场景350

17.8.5计划数据集的使用351

17.8.6测试清理351

17.9小结352

第18章 测试基于JPA的应用程序353

18.1测试多层应用程序354

18.1.1示例应用程序354

18.1.2多层、多种测试策略356

18.2 JPA测试的方方面面359

18.3准备基础设施360

18.4测试JPA实体映射364

18.4.1使用JPA ID生成器集成测试用例365

18.5测试基于JPA的DAO371

18.6测试外键名字376

18.7小结379

第 19章JUnit的其他用法380

19.1介绍381

19.1.1工具概述381

19.1.2运行示例382

19.2透明地使用mock382

19.2.1 Unitils的EasyMock支持383

19.2.2 FEST-Mocks385

19.2.3 Mycila386

19.3 DbUnit集成388

19.4使断言更简单391

19.4.1 JUnit-addons断言包392

19.4.2 Unitlis的ReflectionAssert393

19.4.3 FEST流畅断言模块395

19.4.4 Mylica继承断言396

19.5使用反射绕过封装397

19.5.1内部替代物397

19.5.2 JUnit-addons399

19.5.3 FEST-Reflect400

19.6小结401

附录A JUnit 3和JUnit 4之间的不同403

A.1全球的需求变化403

A.1.1 JDK的要求403

A.1.2向后/向前兼容404

A.2 API中的变化404

A.2.1包结构404

A.2.2构造函数404

A.2.3扩展TestCase404

A.2.4测试方法名称405

A.3注释与新增的静态导入405

A.3.1 @Before与@After注释405

A.3.2 @BeforeClass和@AfterClass注释406

A.3.3忽略测试的差异406

A.3.4静态导入407

A.3.5异常测试407

A.3.6超时测试408

A.4新的JUnut runners408

A.4.1测试运行器(Test runner)408

A.4.2测试集409

A.4.3参数化测试409

A.5新的断言和假设410

A.5.1 Hamcrest断言411

A.5.2假设411

A.5.3新断言412

A.5.4断言错误412

附录B使用自定义的运行器和匹配器扩展JUnitAPI413

B.1介绍拦截器模式414

B.2实现自定义运行器414

B.3实现自定义匹配器420

附录C本书源代码425

C.1获取源代码425

C.2源代码概览426

C.3外部库427

C.4 JAR版本427

C.5目录结构约定428

附录D JUnit IDE集成429

D.1 JUnit与Eclipse的集成429

D.1.1安装Eclipse429

D.1.2从源代码创建Eclipse项目430

D.1.3从Eclipse运行JUnit测试430

D.1.4从Eclipse运行Ant脚本431

D.2引入JUnitMAX Eclipse插件433

D.2.1集成在你的开发周期中433

D.2.2执行顺序434

D.2.3恢复到上一个稳定版本434

D.3 JUnit与NetBeans集成434

D.3.1安装NetBeans434

D.3.2从源代码中创建NetBeans项目435

D.3.3从NetBeans运行JUnit测试435

D.3.4从NetBeans运行Ant脚本437

附录E安装软件439

E.1安装HtmlUnit439

E.1.1标准配置439

E.1.2 Eclipse的配置440

E.2使用HtmlUnit配置Cactus441

E.3安装Selenium442

E.4安装RhinoUnit442

E.5安装JsUnit442

热门推荐