课程介绍
测试驱动开发训练营以理论讲解结合案例演练,全方位梳理测试驱动开发的流程,帮助学员掌握整洁编码、单元测试与重构的技巧,从而使得学员能够在实际项目开发中合理运用测试驱动开发,提高编码质量,打造高效的开发团队,并在企业中有效推进测试驱动开发实践。
课程大纲
第一关 测试加油站 | 测试驱动开发的基础是正确地运用框架编写单元测试。要了解什么是单元测试,编写单元测试的价值,并能熟练运用单元测试框架。JUnit框架。 ·如何创建测试方法 ·如何运用Rule测试异常 ·如何运用Parameterized Data Mockito ·何时需要进行Mock ·Mock查询式方法 ·Mock命令式方法 ·Mock异常抛出 ·验证对象的协作测试 数据准备 ·各种格式的测试数据 ·模板的使用 ·测试数据准备的辅助方法 |
第二关 对象健身操 | 测试驱动开发的驱动力在于任务分解和测试先行,但如果不具备足够的面向对象设计能力,就会影响到对职责的判断,无法做到有效而合理的对象协作,也无法判断该在何时对功能进行抽象。 ·理解封装的意义 ·高内聚松耦合 ·继承与委派 ·抽象与多态 SOLID原则 ·单一职责原则 ·开放封闭原则 ·Liskov替换原则 ·接口隔离原则 ·依赖倒置原则 |
第三关 重构工具箱 | 测试驱动开发的节奏是“红-绿-重构”,没有重构,测试驱动开发就无法保证代码质量,如果不及时发现代码的坏味道,就会导致“破窗效应”,直到代码腐化至难以重构的地步,测试驱动开发带来的红利就被抵消殆尽了。 ·Long Method ·Feature Envy ·Switch Statement ·迪米特法则 重构手法运用 ·Rename Method ·Extract Method ·Move Method ·Extract Class ·Push Member Down |
演练 | 在具备了单元测试、面向对象设计与重构知识之后,就可以开始TDD的训练了。TDD的工作主要分为任务分解与测试驱动,开发人员需要进行实战演练才能真正体会TDD的好处。本部分将通过一个完整的案例进行实操训练。 TDD知识 ·TDD核心 ·TDD三大定律 ·FIRST原则 TDD Kata 实战案例:Guess Number ·任务分解 ·开始第一个任务 ·Specification By Example ·测试驱动开发的驱动力 ·Given-When-Then模式 ·CQS原则 ·信息专家模式 ·命名规则 ·单一职责原则 ·开始第二个任务 ·开始第三个任务 ·开始第四个任务 ·测试驱动开发需要事先设计吗? ·寻找职责的承担者 ·开始第五个任务 ·运用依赖注入框架 |
第五关 重构到模式 | 通过识别代码的坏味道,然后利用重构手法改进代码,逐步形成设计模式,可以有效地避免过度设计,保证编码实现的恰如其分。 常用设计模式 ·工厂模式 ·装饰器模式 ·适配器模式 ·模板方法模式 ·策略模式 ·访问者模式 ·职责链模式 重构到模式实践 ·重构到策略模式 ·重构到模板方法模式 ·重构到装饰器模式 ·重构到职责链模式 ·重构到MVC模式 ·重构到访问者模式 ·重构到适配器模式 |