前端自动化测试:jest

一个好的项目,都是拥有单元测试的,无论你是看现在流行的框架,还是UI组件库,都有属于自己的单元测试。

在前端开发过程中,大部分的情况都是直接运行项目,然后在页面上面点点点,因为前端偏向页面,而且自动化测试代码的编写也不是那么轻松。

为什么要编写测试代码?

因为在开发过程中,有时候改动了一个小小的功能,可能会引发一系列的蝴蝶效应,而这一系列连锁反应光通过点点点,可能测试的不是那么完全。

试想你拿到一个上古项目或者一个代码风格非常差劲的人编写的项目,一个文件有上千行,整个页面都写在了一个组件里面,完全没有解耦,你想改动其中的一个值,你根本不知道这个值在什么地方调用过。

而如果之前写项目的人已经做好了单元测试,你改动这个值之后只需要跑一下单元测试,就可以判断出是否会得到你想要的结果。

现实:

在很多小公司因为需要进行快速开发,所以可能没有时间去写单元测试,甚至连测试人员都没有…

不过一般来说,一个好的程序员,应该一边做开发,一边做测试,这不光是对项目负责,而且可以降低项目后期的维护难度,增加更多摸鱼时间

目前前端的测试文章是缺少的,就连相关的视频教程也没有多少。

  • 白盒测试:也称为结构测试,主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。(一般是由开发者自行进行测试)
  • 黑盒测试:又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。(一般是由公司测试人员进行测试)

单元测试和集成测试区别:

  • 单元测试:必须是一个模块,即需要有导出语句。
  • 集成测试:在单元测试的基础上,对所有模块按照设计要求组装成一个系统或子系统。

匹配器

异步代码测试

钩子函数

分组

怎么测试

可能看了上面的那些,你还

上面说了那么多,其实测试是一个体力活,一般来说每完成一个功能就做一个测试。

所谓的自动化测试,也并非是你写几行代码,就可以测出你项目中的所有BUG。