浅谈前端测试

前端测试或许被好多人误解,也许大家更加倾向于编写面向后端的测试,逻辑性强,测试方便等

聊到这导致了好多前端从来不写测试(测试全靠手点~~~)

其实没必要达到测试驱动开发的程度,只要写完代码可以补测试,并且补出高效的测试,前端或许真的不需要手点

大前端时代不谈环境不成方圆,本文从下面几个环境一一分析下如何敏捷测试

  • node 环境
  • vue 环境
  • nuxt 服务端渲染环境
  • react 环境
  • next 服务端渲染环境
  • angular 环境

理解测试前需要补充下单元测试(unit)和端到端测试(e2e)的概念,这里不赘述

node 环境

推荐测试框架 jest

jest 是 FB 的杰作之一,方便各种场景的 js 代码测试,这里选择 jest 是因为确实方便

使用方法及配置信息可以去官方文档

配置的注意事项

{
  testEnvironment: 'node' // 如不声明默认浏览器环境
}
复制代码

针对 node 只聊一下单元测试,e2e 测试比较少见

当决定写一个 npm 模块时,代码完成后必不可少的就是单元测试,单元测试需要注意的问题比较琐碎

mock

当引入三方库时,不得不 mock 数据,因为单元测试更多讲求的是局部测试,不要受外界三方引入包的影响

例如:

const { readFileSync } = require('fs')

const getFile = () => {
  try {
    const text = readFileSync('text.txt', 'utf8')
  } catch (err) {
    throw new Error(err)
  }

  console.log(text)
}

module.exports = getFile
复制代码

这时我们并不需要关心 text.txt 是否真的存在,也不需要关系 text 的内容具体是什么,我们的关注点应该在于读取文件错误时能否及时抛出异常,以及 console.log() 是否如预期执行

对应到测试

原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值