C#测试驱动开发PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:(美)本德著
- 出 版 社:北京:清华大学出版社
- 出版年份:2012
- ISBN:9787302279716
- 页数:301 页
第Ⅰ部分 入门 3
第1章 通向测试驱动开发之路 3
1.1软件开发的经典方法 4
1.1.1软件工程简史 4
1.1.2从瀑布到迭代和递增 5
1.2敏捷方法简介 6
1.2.1敏捷方法简史 6
1.2.2 TDD的原理与实践 7
1.3 TDD背后的概念 8
1.3.1作为设计方法的TDD 8
1.3.2作为开发实践的TDD 8
1.4 TDD的优点 9
1.5 TDD方法的简单示例 10
1.6本章小结 17
第2章 单元测试简介 19
2.1什么是单元测试 20
2.1.1单元测试的定义 20
2.1.2什么不是单元测试 20
2.1.3其他类型的测试 22
2.2 NUnit一览 24
2.2.1什么是单元测试框架 24
2.2.2 NUnit基础知识 24
2.3与模拟对象分离 28
2.3.1模拟为什么重要 28
2.3.2虚拟、伪对象、存根和模拟 29
2.3.3最佳实践与最差实践 35
2.4 Moq概览 35
2.4.1模拟框架做些什么 36
2.4.2关于Moq 36
2.4.3 Moq基础知识 36
2.5本章小结 40
第3章 重构速览 41
3.1为何重构 42
3.1.1项目的生命周期 42
3.1.2可维护性 43
3.1.3代码度量 43
3.2整洁代码原则 45
3.2.1 OOP原则 45
3.2.2 SOLID原则 49
3.3代码异味 52
3.3.1什么是代码异味 52
3.3.2重复代码和相似类 52
3.3.3大型类和大型方法 53
3.3.4注释 55
3.3.5不当命名 55
3.3.6特征依赖 56
3.3.7 If/Switch过多 57
3.3.8 Try/Catch过多 58
3.4典型重构 59
3.4.1析取类或接口 60
3.4.2析取方法 61
3.4.3重命名变量、字段、方法和类 66
3.4.4封装字段 66
3.4.5用多态替换条件 67
3.4.6允许类型推断 70
3.5本章小结 71
第4章 测试驱动开发:以测试为指南 73
4.1从测试开始 74
4.2红灯、绿灯、重构 76
4.2.1 TDD的3个阶段 76
4.2.2“红灯”阶段 77
4.2.3“绿灯”阶段 77
4.2.4“重构”阶段 78
4.2.5重新开始 78
4.3重构示例 79
4.3.1第一项功能 79
4.3.2通过第一个测试 82
4.3.3第二项功能 83
4.3.4重构单元测试 85
4.3.5第三项功能 86
4.3.6重构业务代码 88
4.3.7纠正重构缺陷 90
4.3.8第四项功能 92
4.4本章小结 94
第5章 模拟外部资源 95
5.1依赖项注入模式 96
5.2抽象数据访问层 106
5.2.1将对数据库的关注移出业务代码 106
5.2.2将数据与存储库模式隔离 106
5.2.3注入存储库 107
5.2.4模拟存储库 110
5.3本章小结 111
第Ⅱ部分 将基础知识变为行动 115
第6章 启动示例应用程序 115
6.1定义项目 116
6.1.1开发项目综述 116
6.1.2定义目标环境 117
6.1.3选择应用程序技术 118
6.2定义用户情景 118
6.2.1收集情景 118
6.2.2确定待办事项表 120
6.3敏捷开发过程 121
6.3.1估计 121
6.3.2迭代工作 122
6.3.3团队内部交流 124
6.3.4零次迭代:第一次迭代 124
6.3.5零次迭代中的测试 124
6.3.6结束迭代 125
6.4创建项目 126
6.4.1选择框架 126
6.4.2定义项目结构 128
6.5本章小结 132
第7章 实现第一个用户情景 133
7.1第一个测试 134
7.1.1选择第一个测试 134
7.1.2为测试命名 135
7.1.3编写测试 136
7.2实现功能 144
7.2.1编写能够正常工作的最简单代码 144
7.2.2运行可以通过的测试 153
7.2.3编写下一个测试 153
7.3通过重构来改进代码 160
7.4多角度测试 161
7.5本章小结 161
第8章 集成测试 163
8.1早集成、常集成 164
8.2编写集成测试 165
8.2.1如何管理数据库 165
8.2.2如何编写集成测试 166
8.2.3端对端集成测试 185
8.2.4使各类测试保持分离 185
8.3运行集成测试的时机和方式 185
8.4本章小结 186
第Ⅲ部分TDD方案 191
第9章Web上的TDD 191
9.1 ASP.NET Web窗体 192
9.2使用ASP.NET MVC 204
9.2.1 MVC 101 205
9.2.2 Microsoft ASP.NET MVC 3.0 205
9.2.3使用MVC Contrib项目 214
9.2.4 ASP.NET MVC汇总 214
9.3使用JavaScript 214
9.4本章小结 220
第10章 测试WCF服务 221
10.1应用程序中的WCF服务 222
10.2测试WCF服务 222
10.2.1为实现可测试性进行重构 223
10.2.2向服务引入依赖项注入 225
10.2.3编写测试 230
10.2.4实现依赖项的存根 233
10.2.5验证结果 237
10.2.6要留意的问题多发区域 237
10.3本章小结 238
第11章测测测测试WPF和Silverlight应用程序 239
11.1测试用户界面时的问题 240
11.1.1 MVVM模式 240
11.1.2 MVVM如何使WPF/Silverlight应用程序可测试 243
11.1.3将所有内容结合在一起 255
11.2本章小结 258
第Ⅳ部分 需求和工具 261
第12章 应对缺陷和新的需求 261
12.1处理修改 262
12.1.1修改的发生 262
12.1.2从测试开始 264
12.1.3修改代码 266
12.1.4使测试保持通过状态 269
12.2本章小结 270
第13章 有关优秀工具的争论 271
13.1测试运行程序 271
13.1.1 TestDriven.NET 272
13.1.2 Developer Express测试运行程序 272
13.1.3 Gallio 273
13.2单元测试框架 274
13.2.1 MSTest 274
13.2.2 MbUnit 275
13.2.3 xUnit 276
13.3模拟框架 277
13.3.1 Rhino Mocks 277
13.3.2 Type Mock 279
13.4依赖项注入框架 281
13.4.1 Structure Map 281
13.4.2 Unity 283
13.4.3 Windsor 284
13.4.4 Autofac 285
13.5其他有用工具 286
13.5.1 nCover 287
13.5.2 PEX 287
13.6如何向团队介绍TDD 288
13.6.1在拒绝改变的环境中工作 289
13.6.2在接受改变的环境中工作 289
13.7本章小结 289
第14章 结论 291
14.1已经学到的内容 292
14.1.1你是自己代码的客户 292
14.1.2逐步找出解决方案 292
14.1.3用调试器作为手术器械 293
14.2 TDD最佳实践 293
14.2.1使用有意义的名字 293
14.2.2为一个功能单元至少编写一个测试 294
14.2.3保持模拟的简单性 294
14.3 TDD的好处 294
14.4如何向团队介绍TDD 295
14.5本章小结 296
附录A TDD Katas 299
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《土壤环境监测前沿分析测试方法研究》中国环境监测总站编著 2018
- 《主题公园开发与管理》梁增贤编著 2019
- 《计算机自适应英语语用能力测试系统设计与效度验证 以TEM4词汇与语法题为例》张一鑫著 2019
- 《中南高校档案文化资源开发综合研究》涂上飙 2019
- 《普通高等职业教育计算机系列规划教材 Android Studio移动应用开发基础》(中国)吴绍根 2019
- 《无机及分析测试技术》李巍巍 2018
- 《汉语口语测试评分员评价研究》黄霆玮著 2019
- 《Cocos Creator微信小游戏开发实战》王绍明编著 2020
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019