Java测试驱动开发pdf

图书网 2018年8月30日20:46:2243.4K

Java开发必读!

从使用TDD开始,改善设计和代码的质量、简化重构工作、提高代码覆盖率。

-卓有成效地践行测试驱动开发所需的工具和框架

-高效执行“红灯-绿灯-重构”过程

-如何以独立于其他代码的方式进行有效的单元测试

-使用各种技巧设计简单而易于维护的代码

-使用模拟框架和技巧轻松编写测试并快速执行

-结合行为驱动开发和单元测试进行TDD

-重构遗留代码

Java测试驱动开发 内容简介

《Java测试驱动开发》介绍如何将各种TDD俱佳实践应用于Java开发,主要内容包括:用Java语言进行TDD会用到的各种工具和框架,所需环境搭建;通过实际应用程序,展示TDD优点及开发中应注意的主要问题;TDD是如何通过模拟内部和外部依赖来提升速度的;如何重构既有应用程序;详细介绍所有TDD俱佳实践。

《Java测试驱动开发》适合所有Java开发人员,也适合用其他语言编程的程序员了解TDD。

Java测试驱动开发 目录

第1章为何要关心测试驱动开发1

1.1为何要使用TDD1

1.1.1理解TDD3

1.1.2红灯绿灯重构3

1.1.3速度是关键4

1.1.4TDD并非测试方法4

1.2测试5

1.2.1黑盒测试5

1.2.2白盒测试5

1.2.3质量检查和质量保证的差别6

1.2.4更好的测试6

1.3模拟7

1.4可执行的文档7

1.5无需调试9

1.6小结9

第2章工具、框架和环境10

2.1Git10

2.2虚拟机11

2.2.1Vagrant11

2.2.2Docker13

2.3构建工具14

2.4集成开发环境15

2.5单元测试框架16

2.5.1JUnit17

2.5.2TestNG19

2.6Hamcrest和AssertJ21

2.6.1Hamcrest21

2.6.2AssertJ22

2.7代码覆盖率工具23

2.8模拟框架24

2.8.1Mockito26

2.8.2EasyMock28

2.8.3PowerMock29

2.9用户界面测试29

2.9.1Web测试框架30

2.9.2Selenium30

2.9.3Selenide31

2.10行为驱动开发33

2.10.1JBehave33

2.10.2Cucumber35

2.11小结37

第3章红灯绿灯重构——从失败到成功再到完美38

3.1使用Gradle和JUnit搭建环境39

3.2“红灯绿灯重构”过程41

3.2.1编写一个测试41

3.2.2运行所有测试并确认最后一个未通过41

3.2.3编写实现代码42

3.2.4运行所有测试42

3.2.5重构42

3.2.6重复43

3.3“井字游戏”的需求43

3.4开发“井字游戏”43

3.4.1需求144

3.4.2需求249

3.4.3需求352

3.4.4需求457

3.5代码覆盖率58

3.6更多练习59

3.7小结60

第4章单元测试——专注于当下而非过往61

4.1单元测试61

4.1.1何为单元测试62

4.1.2为何要进行单元测试62

4.1.3代码重构62

4.1.4为何不只使用单元测试63

4.2TDD中的单元测试64

4.3TestNG64

4.3.1注解@Test64

4.3.2注解@BeforeSuite、@Be—foreTest、@BeforeGroups、@AfterGroups、@AfterTest和@AfterSuite65

4.3.3注解@BeforeClass和@AfterClass65

4.3.4注解@BeforeMethod和@AfterMethod66

4.3.5注解参数@Test(enable=false)66

4.3.6注解参数@Test(expected—Exceptions=SomeClass.class)66

4.3.7TestNG和JUnit差别小结66

4.4“遥控军舰”的需求66

4.5开发“遥控军舰”67

4.5.1创建项目67

4.5.2辅助类69

4.5.3需求169

4.5.4需求272

4.5.5需求374

4.5.6需求475

4.5.7需求577

4.5.8需求680

4.6小结81

第5章设计——难以测试说明设计不佳82

5.1为何要关心设计82

5.2Connect484

5.3完成Connect4实现后再测试85

5.3.1需求185

5.3.2需求286

5.3.3需求387

5.3.4需求488

5.3.5需求589

5.3.6需求689

5.3.7需求790

5.3.8需求891

5.4使用TDD实现Connect492

5.4.1Hamcrest92

5.4.2需求193

5.4.3需求293

5.4.4需求396

5.4.5需求497

5.4.6需求599

5.4.7需求699

5.4.8需求7100

5.4.9需求8101

5.5小结103

第6章模拟——消除外部依赖104

6.1模拟104

6.1.1为何使用模拟对象105

6.1.2术语106

6.1.3模拟对象106

6.2Mockito107

6.3“井字游戏”第二版的需求107

6.4开发“井字游戏”第二版107

6.4.1需求1108

6.4.2需求2118

6.5集成测试124

6.5.1分离测试124

6.5.2集成测试125

6.6小结127

第7章BDD——与整个团队协作128

7.1不同规范128

7.1.1文档129

7.1.2供程序员使用的文档129

7.1.3供非程序员使用的文档130

7.2行为驱动开发130

7.2.1叙述131

7.2.2场景132

7.3书店应用程序的BDD故事133

7.4JBehave136

7.4.1JBehave运行器136

7.4.2待定步骤137

7.4.3Selenium和Selenide138

7.4.4JBehave步骤139

7.4.5最后的验证144

7.5小结146

第8章重构遗留代码——使其重焕青春147

8.1遗留代码147

8.2编码套路156

8.2.1遗留代码处理套路157

8.2.2描述157

8.2.3技术说明157

8.2.4添加新功能157

8.2.5黑盒测试还是尖峰冲击测试157

8.2.6初步调查158

8.2.7应用遗留代码修改算法161

8.2.8提取并重写调用166

8.2.9消除状态的“基本类型偏执”坏味170

8.3小结173

第9章功能开关——将未完成的功能部署到生成环境175

9.1持续集成、持续交付和持续部署175

9.2功能开关177

9.3功能开关示例178

9.3.1实现fibonacci服务181

9.3.2使用模版引擎184

9.4小结187

第10章综述188

10.1TDD概要188

10.2最佳实践189

10.2.1命名约定189

10.2.2流程191

10.2.3开发实践192

10.2.4工具195

10.3这只是开始196

10.4这并非终点196

Java测试驱动开发 精彩文摘

1.1.1 理解TDD

此时你可能正自言自语:“我知道TDD会带来一些好处,但测试驱动开发到底是什么呢?”TDD是一种简单的流程,要求你先编写测试,再编写实现代码,这与“编写代码后再测试”的传统方法相反。

1.1.2 红灯-绿灯-重构

测试驱动开发是一个过程,依赖于不断重复极短的开发周期。它基于极限编程(XP)的测试优先理念,倡导采用可高度信赖的简单设计。驱动这个流程前行的开发周期称为“红灯-绿灯-重构”。

这种流程本身很简单,由几个反复进行的步骤组成:

(1) 编写一个测试;

(2) 运行所有测试;

(3) 编写实现代码;

(4) 运行所有测试;

(5) 重构;

(6) 运行所有测试。

鉴于测试是在实现前编写的,因此它应该不能通过。如果通过了,就说明测试是错误的:要么它描述的功能早已存在,要么编写不正确。编写测试期间处于绿灯状态昭示着存在错报的问题,对于这样的测试,应将其删除或进行重构。

图书网:Java测试驱动开发pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:4   其中:访客  6   博主  0
    • a
      a 9

      不错

      • a
        a 9

        很好

        • name
          name 9

          能下吗?

          • springboot
            springboot 0

            听说评论能下载

            • A
              A 1

              不错啊

              • B
                B 1

                下载