TDD
- 本质在于通过编写测试来驱动软件开发过程。核心思想是在开发人员实现功能代码前,先设计好测试用例的代码,然后再根据测试用例的代码编写产品的功能代码,最终目的是让开发前设计的测试用例代码能够顺利执行通过,让代码尽量具备可测试性。
- 一般流程:红 -> 绿 -> 重构
- 在编写新的功能代码之前,先写一个失败的测试用例,描述功能代码的预期行为和结果;
- 编写最少量的代码,使测试用例通过,这时候代码只需满足测试用例的要求,不需要考虑其他功能或优化;
- 在确保所有测试用例通过的前提下对代码进行重构(优化代码结构、消除重复,提升代码质量),同时确保测试用例依然通过;
- 重复1~3步骤,逐步实现和完善功能,每次迭代都需要保证测试用例通过,确保代码正确性和健壮性。
- 优势:
- 1.保证开发的功能一定是符合实际需求的。
在开发时会不可避免地在自己的主观判断下,开发出一个完全没有实际应用场景的功能,只会在项目后期产品验证和测试接入的时候被发现,浪费了时间和精力又开发出没必要的功能,而通过TDD,先根据用户的实际需求编写测试用例,再根据测试用例完成功能代码,可以保证开发的功能是一定符
- 1.保证开发的功能一定是符合实际需求的。