TDD简介:它是什么以及为什么它很重要
如今许多公司都在使用测试驱动开发(TDD)来创建他们的网络软件。
为什么测试驱动开发如此重要?
TDD之所以如此流行,是因为它能预防未来的问题和bug,提高工作效率,并帮助团队沟通代码功能的设计意图。TDD的缺点是启动项目需要更长时间,因此需要前期投入一些耐心。
TDD的基本流程
- 创建一个测试(确保测试失败,以免出现误报)
- 编写代码尝试通过测试
- 一旦通过测试,尽可能重构测试代码和实现代码。
- 创建下一个测试并重复上述步骤。
创建测试时需要牢记的概念
可读性-> 清楚地说明测试的实际行为和预期行为是什么,以及为什么。
隔离性-> 确保测试只覆盖特定的代码段,因为您不希望某些测试干扰其他测试。如果发生干扰,您可能无法确定测试失败是由于目标代码本身的问题,还是由于之前的测试导致的。
考虑周全-> 做好应对各种极端情况的准备,例如有人输入与预期完全无关的内容。举例来说,如果有人试图提交一个空白表单怎么办?
明确性-> 这与代码可读性密切相关。如果有人查看测试,他们应该能够只要求进行少量设置。
三种主要类型的测试
单元测试-> 小功能模块
集成测试-> 检查所有小型测试/代码是否协同工作,例如检查应用程序是否能正确与 API(应用程序编程接口)通信。
端到端测试-> 从用户角度测试整个应用程序(例如:Selenium 或 Cypress.io)
入门
(通常以库的形式)
- 测试环境/测试运行器(运行测试的地方)
- 测试框架(例如 Mocha 或 Jasmine,用于组织/保存您的测试代码)
- 一个断言库(它可以让你不必编写大量的 if 语句,它会实际验证测试结果)。
资料来源:
https://www.linkedin.com/learning/javascript-test-driven-development-es6