携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天
测试环节是软件工程中的重要组成部分。如果你不熟悉测试,那你可能会提出和别人一样的问题 —— 如果我的软件的所有功能都在正常运作,我为什么还要进行测试呢?
我们进行测试的目的是检查代码的功能是否正常,检查代码是否按预期工作。一般来说,我们并不会通过测试来查找代码中的 Bug。
而如果我们要针对 JavaScript 和 Node.js 应用程序进行测试,实际上有很多可用的框架供我们选择。
1. Jest
Github Stars:38.3k
Jest 是一个易于操作的,delightful 的 JavaScript 测试框架。它的特性是是易于操作。我们可以在:Babel、TypeScript、Node、React、Angular、Vue 等项目中使用它!
Jest 是我最喜欢的框架之一,因为它快速、安全,易于使用而且它还为我们提供了大量文档。基于 2020 年 Javascript 状况调查,它是 JavaScript 开发人员中最常用的测试框架之一。而且调查显示,大多数开发人员都感兴趣于学习它。
2. Mocha
GitHub Stars:20.2k
Mocha 是 Node.js 程序的 JavaScript 测试框架,支持浏览器、异步测试、测试覆盖率报告以及任何断言库的使用。
它简单、灵活、有趣,而且适用于 Node.js 和浏览器。2020 年 Javascript 状况调查 显示,它是仅次于 Jest 的 JavaScript 开发人员中第二常用的测试框架。
3. Jasmine
GitHub Stars:15k
Jasmine 是一个用于测试 JavaScript 代码的行为驱动开发框架。它不依赖于任何其他 JavaScript 框架。它不需要 DOM 节点,而且它的语法清晰明了,因此我们可以轻松使用它进行测试。
调查显示,虽然许多开发人员正在使用 Jasmine,但是他们对该框架的兴趣的趋势是下降的。
4. AVA
GitHub Stars:18.6k
AVA 是 Node.js 的测试框架。它拥有简洁的 API、详细的错误输出。它支持新的语言功能、支持测试文件隔离,能让我们更有信心进行开发。
5. Puppeteer
GitHub Stars:68.2k
Puppeteer 是一个 Node.js 库,提供了高级的 API,通过 DevTools 协议 控制 Chrome 或 Chromium。Puppeteer 默认运行在 Headless Chrome 上,但我们也可以通过配置它,让它运行在完整的 Chrome 或 Chromium 上。
其他受欢迎的测试库还包括了 Sinon.js、Chai、Cypress。我个人使用了 Sinon.js —— 它是支持行为监控、桩模块设置和测试数据模拟的 JavaScript 测试框架
结论
不必要被这些测试框架所搞混,套进去。他们所做的,甚至最多能够做的,也只是提供一个更好的用于测试我们的代码的环境。调查也同时显示,Jest 已成为开发人员最爱的测试框架,而我也一直在使用 Jest 测试我的 Node 应用程序。
如果你是 Node.js 开发人员或 React 开发人员,我强烈推介你使用 Jest。
祝学习愉快!