前端测试怎么做?

3,840 阅读2分钟

很多刚入前端开发的同事问我,如何做前端测试...

要搞清楚如何做好测试,首先还是得回问自己一个问题?测试究竟是为了什么? 不就是为了不出错嘛!所以其实测试就是要找到一个合适的方法,能尽可能的少些但又尽可能得保证产品可靠。

测试概念有很多,比如说黑盒测试,白盒测试,单元测试,集成测试,E2E测试,自动测试,手动测试等等

撇去这些概念我认为实战的做法可以分为以下几个

1.ESLint测试

使用TypeScript编写项目,通过ESLint进行类型校验,格式校验,可以很大程度避免错误。

2. 工具类测试

项目中会有很多工具类纯函数,这里我们需要使用单元测试的方式对工具类进行测试。 这里使用Jest就可以完成测试。

3. 组件测试

现在流行的单页应用有很多复用的组件,每个组件使用是否正常,这个时候需要使用一些测试框架进行测试,流行的有 Testing LibraryEnzyme ,这些测试框架主要的原理是在测试沙盒环境中生成一个测试的虚拟DOM环境,然后调用React,Vue等组件进行HTML节点渲染,亦可接收点击事件,然后根据渲染的结果判断是否正确。

  • Testing Library 更偏向于用户最终使用结果,例如 "我看到" "我点击" "我得到什么结果" 更推荐使用这个
  • Enzyme 更偏向于内部程序结构,例如 "程序调用" "程序模拟点击" "程序生成什么结果" "组件内部发生什么变化"

4. 页面测试

页面测试可以说是对产品的最终操作逻辑进行测试,这里的测试工具可以选用E2E的测试工具Cypress,这个工具讲网站运行在一个浏览器中,可以模拟用户的点击,判断页面元素,可以说非常可靠。

5. Mock数据测试

除了以上几点,我们还需要做mock数据,将请求的各种情况显示出来,方便纠错。

总结

前端测试 并不是说以上的所有过程都需要进行 ,毕竟写测试是需要花费时间的,而且有些业务系统常常会因为业务需求,项目经理,老板等因素频繁变动,刚写好的测试或许一下就废了,要点是是你要找到一个适用适用于当前项目的组合拳,用最小的力气做出最可靠的测试,快速定位发现问题。