《JUnit实战(W??》PDF 下蝲
转蝲自:(x)https://download.csdn.net/download/tieliangli/10322663
下蝲地址Q?/strong>
版权归出版社和原作者所有,链接已删除,误买正?/b>
图书介:(x)
本书从认识JUnit、不同的试{略、JUnit与构E、JUnit扩展4个方面,由浅入深、由易到隑֜对JUnit展开?jin)系l的讲解Q包括探索JUnit的核?j)、Y件测试原则、测试覆盖率与开发、用stubq行_粒度测试、用mockobjectsq行试、容器内试、从Ant中运行JUnit试、从Maven2中运行JUnit试、持l集成工兗表C层的测试、Ajax试、用Cactusq行服务器端的Java试、测试JSF应用E序、测试OSGilg、测试数据库讉K、测试基于JPA的应用程序、JUnit的其他用法等内容?/span>
本书不仅仅介l了(jin)使用JUnit框架试目必须掌握的核?j)概念,q指D者如何用JUnit框架~写自己的测试用例,q对在~写代码的过E中如何使得代码可测试给出徏议。本书还介绍?jin)基的Y件开发原则,如测试驱动开?TDD){,以便指导用户如何使用不同的工h试典型JavaEE应用E序的每一层。此外,本书也提供了(jin)几个附录Q以帮助读者快速{换到最新版本的JUnitQƈ且能够轻村֜集成自己喜欢的IDE?/span>
本书适合于已h一定Java~程基础的读者,以及(qing)在Javaq_下进行各cY件开发的开发h员、测试h员。对于单元测试学?fn)者和~程爱好者来_(d)本书则具有极高的学习(fn)参考h(hun)倹{?/span>
相关截图Q?br />

图书目录Q?/strong>
W?部分 认识JUnit
W?章 JUnith
1.1 证实它能q行
1.2 从零开始
1.3 理解单元试框架
1.4 JUnit的设计目标
1.5 安装JUnit
1.6 使用JUnit试
1.7 结
W?章 探烦(ch)JUnit的核?j)
2.1 探烦(ch)JUnit核心(j)
2.2 q行参数化测试
2.3 JUnit的测试运行器
2.3.1 试q行器简介
2.3.2 JUnitCore faQade
2.3.3 自定义测试运行器
2.4 用Suite来组合测试
2.4.1 l合一l测试类
2.4.2 l合一l测试集
2.4.3 Suite、IDE、Ant与Maven
2.5 结
W?章 掌握JUnit
3.1 引入controllerlg
3.1.1 设计接口
3.1.2 实现基类
3.2 让我们来试它
3.2.1 试DefaultController
3.2.2 d一个处理器
3.2.3 h处理
3.2.4 改进testProcessRequest
3.3 试异常处理
3.3.1 模拟异常条g
3.3.2 试异常
3.4 时试
3.5 引入Hamcrest匚w器
3.6 创徏试目
3.7 结
W?章 软g试原则
4.1 单元试的必要性
4.1.1 带来更高的测试覆盖率
4.1.2 提高团队效率
4.1.3 监测衰退和减调试
4.1.4 自信地重构
4.1.5 改进实现
4.1.6 预期的行ؓ(f)文档化
4.1.7 启用代码覆盖率以?qing)其他指标
4.2 试cd
4.2.1 软g试?U类型
4.2.2 单元试?U类型
4.3 黑盒试与白盒测试
4.4 结
W?部分 不同的测试策?br />
W?章 试覆盖率与开发
5.1 量试覆盖率
5.1.1 试覆盖率简介
5.1.2 Cobertura介
5.1.3 生成试覆盖率报告
5.1.4 l合黑盒与白盒测试
5.2 ~写可测试的代码
5.2.1 公共API是协议
5.2.2 减少依赖关系
5.2.3 创徏单的构造函数
5.2.4 遵@最知识原则
5.2.5 避免隐藏的依赖关pM全局状态
5.2.6 单态模式的优点和缺炏V
5.2.7 优先使用通用Ҏ(gu)
5.2.8 l合优先于ѝ
5.2.9 多态优先于条g语句
5.3 试驱动开发
5.3.1 调整开发周期
5.3.2 TDD的两个步骤
5.4 在开发周期中的测试
5.5 结
W?章 使用stubq行_粒度测试
6.1 stub介
6.2 使用stub试一个HTTPq接
6.2.1 选择使用stub的方案
6.2.2 使用Jetty作ؓ(f)嵌入式服务器
6.3 使用stub替换Web服务器资源
6.3.1 建立W一个stub试
6.3.2 针对故障情况q行试
6.3.3 回顾W一个stub试
6.4 替换q接
6.4.1 创徏自定义的URL协议处理器
6.4.2 创徏一个JDK的HttpURLConnection stub
6.4.3 q行试
6.5 结
W?章 使用mock objectsq行试
7.1 mock objects介
7.2 使用mock objectsq行单元试
7.3 使用mock objects来重构
7.3.1 重构CZ
7.4 替换一个HTTPq接
7.4.1 定义mock objects
7.4.2 试一个简单的Ҏ(gu)
7.4.3 W一ơ尝试:(x)单的Ҏ(gu)重构技巧
7.4.4 W二个尝试:(x)使用cd厂来重构
7.5 把mocks用作Ҏ(gu)伊木马
7.6 介绍mock框架
7.6.1 使用EasyMock
7.6.2 使用JMock
7.7 结
W?章 容器内测试
8.1 标准单元试的局限性
8.2 mock objects解决Ҏ(gu)
8.3 容器内测试
8.3.1 实现{略
8.3.2 容器内测试框架
8.4 比较stub、mock objects和容器内试
8.4.1 stub的优点与~点
8.4.2 mock objects的优点和~点
8.4.3 容器内测试的优点与缺炏V
8.4.4 容器内测试与容器外测试
8.5 结
W?部分 JUnit与构E?br />
W?章 从Ant中运行JUnit试
9.1 生命中的一天
9.2 从Ant中运行测试
9.3 认识q安装Ant
9.4 Ant的目标、项目、属性以?qing)Q务
9.4.1 javacd
9.4.2 JUnitd
9.5 让Ant来执行Q务
9.6 使用Ivyq行依赖理
9.7 创徏HTML报告
9.8 批处理测试
9.9 结
W?0章 从Maven2中运行JUnit试
10.1 Maven的功能
10.1.1 U定优于配置
10.1.2 强大的依赖管理
10.1.3 Maven的构建生命周期
10.1.4 Z插g的架构
10.1.5 Maven目对象模型
10.2 建立一个Maven目
10.3 Maven插g的引入
10.3.1 Maven的Compiler插g
10.3.2 Maven的Surefire插g
10.3.3 使用Maven生成HTML格式的JUnit报告
10.4 Maven的不뀀
10.5 结
W?1章 持箋集成工具
11.1 试持箋集成
11.1.1 持箋集成试
11.2 拯救用户的CruiseControl
11.2.1 开始用CruiseControl
11.2.2 创徏一个示例项目
11.2.3 解析CruiseControl配置文g
11.3 另一个持l集成工?-Hudson
11.3.1 Hudson介
11.3.2 安装
11.3.3 配置Hudson
11.3.4 配置Hudson中的目
11.4 持箋集成的优ѝ
11.5 结
W?部分 JUnit扩展
W?2章 表示层的试
12.1 选择试框架
12.2 HtmlUnit介
12.2.1 一个实例
12.3 ~写HtmlUnit试
12.3.1 HTML断言
12.3.2 对特定的Web览器进行测试
12.3.3 试多个Web览器
12.3.4 创徏独立的测试
12.3.5 D对象模型
12.3.6 通过特定的元素类型访问元素
12.3.7 通过名字与烦(ch)引访问元素
12.3.8 通过引用讉K元素
12.3.9 使用XPath
12.3.10 试p|和异常
12.3.11 应用E序与网l导航
12.3.12 使用HtmlUnit试表单
12.3.13 试框架(frame)
12.3.14 试JavaScript
12.3.15 试CSS
12.3.16 SSL错误
12.4 集成HtmlUnit和Cactus
12.4.1 在Cactus中编写测试
12.5 Selenium介
12.6 生成Selenium试
12.6.1 一个实例
12.7 q行Selenium试
12.7.1 理Selenium服务器
12.7.2 使用JUnit 4q行Selenium试
12.8 ~写Selenium试
12.8.1 针对特定的Web览器进行测试
12.8.2 试多个览器
12.8.3 应用E序和网l导航
12.8.4 通过引用讉K元素
12.8.5 通过异常使测试失败
12.8.6 使用Selenium试表单
12.8.7 试JavaScript告警
12.8.8 捕获一个JUnit 3试p|的截屏
12.8.9 捕获一个JUnit 4试p|的截屏
12.9 HtmlUnit与Selenium
12.10 结
W?3章 Ajax试
13.1 Ajax应用E序难以试的原因
13.1.1 传统的Web交互
13.1.2 Ajax交互
13.1.3 一个崭新的世界
13.1.4 试的挑战
13.2 Ajax的测试模式
13.2.1 功能试
13.2.2 客户端脚本单元测试
13.2.3 服务试
13.3 功能试
13.3.1 使用Seleniunq行功能试
13.3.2 使用HtmlUnitq行功能试
13.4 JavaScript试
13.4.1 使用RhinoUnit试JavaScript
13.4.2 使用JsUnit试JavaScript
13.4.3 ~写JsUnit试用例
13.4.4 ~写JsUnit试集
13.4.5 手动q行JsUnit试用例
13.4.6 使用Ant自动q行JsUnit试用例
13.5 RhinoUnit与JsUnit
13.6 使用JSLint(g)验最?jng)_c(din)
13.7 使用HttpClient试服务
13.7.1 调用XML服务
13.7.2 验证XML响应
13.7.3 验证JSON响应
13.8 试Google Web工具应用程序
13.8.1 为GWT应用E序选择试框架
13.8.2 手动创徏GWTTestCase
13.8.3 使用junitCreator创徏GWTTestCase
13.8.4 q行试用例
13.8.5 安装和拆卸测试
13.8.6 创徏试集
13.8.7 q行试集
13.9 结
W?4章 使用Cactusq行服务器端的Java试
14.1 什么是CactusQ
14.2 使用Cactusq行试
14.2.1 你可以用Cactus试的Javalg
14.2.2 一般原则
14.2.3 Cactus如何工作
14.3 试servlet和filters
14.3.1 介绍理应用E序
14.3.2 使用Cactus~写servlet试
14.4 试JSP
14.4.1 回顾理应用E序
14.4.2 什么是JSP单元试Q
14.4.3 单独使用Cactus对JSPq行单元试
14.4.4 利用SQLl果数据执行JSP
14.5 试EJB
14.6 什么是CargoQ
14.7 使用Ant执行Cactus试
14.7.1 用来准备文g的Cactus
14.8 使用Maven2x执行Cactus试
14.8.1 Maven2 cactifywar MOJO
14.8.2 Maven2 cactifyear MOJO
14.9 从浏览器执行Cactus试
14.10 结
W?5章 试JSF应用E序
15.1 引入JSF
15.2 介绍CZ应用E序
15.3 试JSF应用E序时的典型问题
15.4 试JSF应用E序的策略
15.4.1 黑盒Ҏ(gu)
15.4.2 Mock object援救
15.5 使用JSUnit试CZ应用E序
15.5.1 从浏览器执行一个JSFUnit试
15.5.2 使用JSFUnit试Ajax
15.6 使用HtmlUnit与JSFUnit
15.7 JSF应用E序的性能试
15.8 结
W?6章 试OSGilg
16.1 OSGi介
16.2 W一个OSGi服务
16.2.1 CZ应用E序
16.3 试OSGi服务
16.3.1 Mock objects
16.4 引入JUnit4OSGi
16.5 结
W?7章 试数据库访问
17.1 数据库单元测试的L不匹配
17.1.1 单元试必须执行隔离的代码
17.1.2 单元试必须易于~写和运行
17.1.3 单元试必须q行快速
17.2 DbUnit介绍
17.2.1 CZ应用E序
17.2.2 讄DbUnitq运行示例应用程序
17.3 使用数据集来填充数据库
17.3.1 剖析DatabaseOperation
17.4 用数据集断言数据库状态
17.4.1 qo(h)数据集
17.4.2 忽略数据列
17.5 使用ReplacementDataSet转换数据
17.5.1 使用ReplacementDataSet处理不同的ID问题
17.5.2 处理NULL倹{
17.6 从已有的数据库数据中创徏数据集
17.7 高技术
17.7.1 DbUnit与模板设计模式
17.7.2 通过自定义注释提高重用
17.7.3 在数据集中用表辑ּ语言
17.8 数据库访问测试的最?jng)_法
17.8.1 每个开发者用一个数据库
17.8.2 保目标数据库被试
17.8.3 为加载和存储数据创徏互补试
17.8.4 ~写加蝲试用例Ӟ应涵盖所有基本场景
17.8.5 计划数据集的使用
17.8.6 试清理
17.9 结
W?8章 试ZJPA的应用程序
18.1 试多层应用E序
18.1.1 CZ应用E序
18.1.2 多层、多U测试策略
18.2 JPA试的方斚w面
18.3 准备基础设施
18.4 试JPA实体映射
18.4.1 使用JPA ID生成器集成测试用例
18.5 试ZJPA的DAO
18.6 试外键名字
18.7 结
W?9章 JUnit的其他用法
19.1 介绍
19.1.1 工具概述
19.1.2 q行CZ
19.2 透明C用mock
19.2.1 Unitils的EasyMock支持
19.2.2 FEST-Mocks
19.2.3 Mycila
19.3 DbUnit集成
19.4 使断a更简单
19.4.1 JUnit-addons断言包
19.4.2 Unitlis的ReflectionAssert
19.4.3 FEST畅断言模块
19.4.4 Mylical承断言
19.5 使用反射l过装
19.5.1 内部替代物
19.5.2 JUnit-addons
19.5.3 FEST-Reflect
19.6 结
附录A JUnit 3和JUnit 4之间的不同
A.1 全球的需求变化
A.1.1 JDK的要求
A.1.2 向后/向前兼容
A.2 API中的变化
A.2.1 包结构
A.2.2 构造函数
A.2.3 扩展TestCase
A.2.4 试Ҏ(gu)名称
A.3 注释与新增的?rn)态导入
A.3.1 @Before与@After注释
A.3.2 @BeforeClass和@AfterClass注释
A.3.3 忽略试的差异
A.3.4 ?rn)态导入
A.3.5 异常试
A.3.6 时试
A.4 新的JUnit runners
A.4.1 试q行?Test runner)
A.4.2 试集
A.4.3 参数化测试
A.5 新的断言和假设
A.5.1 Hamcrest断言
A.5.2 假设
A.5.3 新断a
A.5.4 断言错误
附录B 使用自定义的q行器和匚w器扩展JUnitAPI
B.1 介绍拦截器模式
B.2 实现自定义运行器
B.3 实现自定义匹配器
附录C 本书源代码
C.1 获取源代码
C.2 源代码概览
C.3 外部库
C.4 JAR版本
C.5 目录l构U定
附录D JUnit IDE集成
D.1 JUnit与Eclipse的集成
D.1.1 安装Eclipse
D.1.2 从源代码创徏Eclipse目
D.1.3 从Eclipseq行JUnit试
D.1.4 从Eclipseq行Ant脚本
D.2 引入JUnitMAX Eclipse插g
D.2.1 集成在你的开发周期中
D.2.2 执行序
D.2.3 恢复C一个稳定版本
D.3 JUnit与NetBeans集成
D.3.1 安装NetBeans
D.3.2 从源代码中创建NetBeans目
D.3.3 从NetBeansq行JUnit试
D.3.4 从NetBeansq行Ant脚本
附录E 安装软g
E.1 安装HtmlUnit
E.1.1 标准配置
E.1.2 Eclipse的配|
E.2 使用HtmlUnit配置Cactus
E.3 安装Selenium
E.4 安装RhinoUnit
E.5 安装JsUnit
|