前言:

现在市场上,一些公司,到现在还是没有前端自动化测试,甚至 BOSS 会说前端自动化测试会拉低工作效率,认为用处不大。这是完全错误的想法,你可以看到 Github 上任何大型的前端项目都有自动化测试代码。

Vue.js : 国内最流行的构建用户界面的渐进式 JavaScript 框架。
React.js : 世界最流行的 JavaScript MVC 框架。

好的前端工程化一般包括三个大的方面:

  1. 前端自动化测试(前提条件)
  2. 高质量的代码设计
  3. 高质量的代码实现
因此前端自动化势在必行。而前端单测工具则是其中的一个区域。

接下来对前端单测进行工具选型:

  1. Jasmine : JavaScript 测试框架(BDD-集成测试开发框架),这个也算是比较早的测试框架,我的第一个测试框架接触的就是 Jasmine. 好用,但我喜新厌旧。

  2. MOCHA: 它是一个功能丰富的 JavaScript 测试框架,运行在 Node.js 和浏览器中,使异步测试变得简单有趣。也是非常优秀的框架,但是我们公司没有用,所以我也什么发言权。

  3. Jest:目前最流行的前端测试框架,几乎国内所有的大型互联网公司都在使用。具体好处我会在下面详细说清楚。

jest 有着以下的优点,各位看官请继续看下去:

  1. 比较新:喜新厌旧是人的天性,新技术出来后你总想动手尝试一下,这个就和家花没有野花香是一个道理。作为一个程序员,你更要有拥抱全新知识的态度。绝不能固步自封,顽固不化。

  2. 基础很好:框架基础好就是性能好、功能多、简单易用,Jest 在这三个方面你可以完全放心。绝对是一把好手,干就完事了。

  3. 速度快: 单独模块测试功能,比如说有两个模块 A 和 B,以前都测试过了,这时候你只改动 A 模块,才次测试,模块 B 不会再跑一次,而是直接测试 A 模块。这就好比你去 ‘吃蛋糕’,你所有蛋糕都试过了一次,下次你再来,直接就找最好的就行了。不用再测试一遍。

  4. API 简单 :等你基础知识学完后,你就会发现 API 非常简单,数量也少。

  5. 隔离性好:Jest 里会有很多的测试文件等待我们使用,Jest 的执行环境都是隔离,这样就避免不同的测试文件执行的时候互相影响而造成出错。

  6. IDE 整合:Jest 直接可以和很多编辑器(VSCode)进行融合,让测试变的更加简单。

  7. 多项目并行:比如我们写了 Node.js 的后台项目,用 React 写了一个前台项目,Jest 是支持他们并行运行,让我们的效率更加提高了

  8. 覆盖率:(测试代码覆盖率)对于一个项目的测试都要出覆盖率的,Jest 就可以快速出这样的覆盖率统计结果,非常好用。

  9. Mock:Mock 工具集以及它的自动模块 Mock 系统

  10. snapshot:快照测试


↙↙↙阅读原文可查看相关链接,并与作者交流