当前位置:首页 > 工业技术
C#测试驱动开发
C#测试驱动开发

C#测试驱动开发PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(美)本德著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302279716
  • 页数:301 页
图书介绍:本书描述常见的软件问题,提供了解决这些问题的重构实践。展示了可用于测试WPF和Silverlight应用程序的模式。
《C#测试驱动开发》目录

第Ⅰ部分 入门 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

返回顶部