JavaTestDrivenDev
《Java 测试驱动开发》学习笔记
所用书籍
Farcic, Viktor, and Alex Garcia. Test-Driven Java Development. Packt Publishing Ltd, 2015. Git
本书目录及程序实现
- 一、为何要关心测试驱动开发
- 二、工具、框架和环境
- 三、红灯-绿灯-重构——从失败到成功再到完美
- 四、单元测试——专注于当下而非过往
- 单元测试
1.1 何为单元测试
1.2 为何要进行单元测试
1.3 代码重构
1.4 为何不只使用单元测试 - TDD 中的单元测试
- TestNG
3.1 注解 @Test
3.2 注解 @BeforeSuite、 @BeforeTest、 @BeforeGroups、 @AfterGroups、 @AfterTest和 @AfterSuite
3.3 注解 @BeforeClass 和 @AfterClass
3.4 注解 @BeforeMethod 和 @AfterMethod
3.5 注解参数 @Test(enable = false)
3.6 注解参数 @Test(expectedExceptions = SomeClass.class)
3.7 TestNG 和 JUnit 差别小结 - “遥控军舰”的需求
- 开发“遥控军舰” 实现 测试用例
- 单元测试
- 五、设计——难以测试说明设计不佳
- 六、模拟——消除外部依赖
- 七、BDD——与整个团队协作
- 不同规范
1.1 文档
1.2 供程序员使用的文档
1.3 供非程序员使用的文档 - 行为驱动开发
2.1 叙述
2.2 场景 - 书店应用程序的 BDD 故事
- JBehave
4.1 JBehave 运行器
4.2 待定步骤
4.3 Selenium 和 Selenide
4.4 JBehave 步骤
4.5 最后的验证
- 不同规范
- 八、重构遗留代码——使其重焕青春
- 遗留代码
1.1 识别遗留代码的其他方式
1.2 依赖不是注入的
1.3 遗留代码修改算法
1.4 应用遗留代码修改算法 - 编码套路
2.1 遗留代码处理套路
2.2 描述
2.3 技术说明
2.4 添加新功能
2.5 黑盒测试还是尖峰冲击测试
2.6 初步调查
2.7 应用遗留代码修改算法
2.8 提取并重写调用
2.9 消除状态的“基本类型偏执”坏味 - 原始代码 修改结果 测试用例
- 遗留代码
- 九、功能开关——将未完成的功能部署到生产环境
- 持续集成、持续交付和持续部署
- 功能开关
- 功能开关示例 测试用例
3.1 实现 fibonacci 服务
3.2 使用模版引擎
- 十、综述