00-前端几种测试框架的比较与选择

前言

  • 本模块学习可能需要一些开发的基础,在学习中会有少部分简单内容会被略过,如果疑问欢迎留言,笔者看到之后会第一时间回复。

前端自动化测试的几种框架:

[] 中的数据为笔者学习时各框架在 github 上的星星数:
  • 1、jasmine [14.6k]
  • 2、mocha [18.7k],可以搭配 chai 语法库
  • 3、jest [28.3k]:jest在性能、功能、易用性三个方面都比较突出,当然其它两个框架也各有优点,学会 jest,其它两个框架也会很容易上手。
  • 虽然不是唯星是图,但是星星多的可能会更受欢迎,被更多使用,所以这里主要进行 Jest 学习

jest 具体优点:

  • 1、速度快
    • 如果有多个模块需要测试,各模块互相之间没有关系,首次运行测试各个模块会都运行,如果只修改了某一个模块(比如模块A),再运行测试用例时,只会跑模块A,而不会再跑其它未修改的模块;
  • 2、API简单;
  • 3、易配置;
  • 4、隔离性好:
    • 有好多测试文件,各测试文件运行是单独的,互不影响;
  • 5、监控模式;
  • 6、IDE整合(和编辑器融合);
  • 7、snapshot;
  • 8、多项目并行:
    • 比如可以进行前端测试,可以进行后端测试,互不影响;
  • 9、覆盖率:
    • 通过一个命令就可以提供test coverage;
  • 10、mock丰富。

Jest 对新兴的前端框架和知识点支持的很好

  • 如:babel、typescript、node、react、angular、vue...