前端工程化入门02 - 测试

前端工程化入门02 - 测试

什么是测试

维基百科的定义:
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
也可以这样理解:测试的作用是为了提高代码质量和可维护性。
  1. 提高代码质量:测试就是找 BUG,找出 BUG,然后解决它。BUG 少了,代码质量自然就高了。
  1. 可维护性:对现有代码进行修改、新增功能从而造成的成本越低,可维护性就越高。

什么时候写测试

如果你的程序非常简单,可以不用写测试。例如下面的程序,功能简单,只有十几行代码:
function add(a, b) {
    return a + b
}

function sum(data = []) {
    let result = 0
    data.forEach(val => {
        result = add(result, val)
    })

    return result
}

console.log(sum([1,2,3,4,5,6,7,8,9,10])) // 55
JavaScript
如果你的程序有数百行代码,但封装得很好,完美的践行了模块化的理念。每个模块功能单一、代码少,也可以不用写测试。
如果你的程序有成千上万行代码,数十个模块,模块与模块之间的交互错综复杂。在这种情况下,就需要写测试了。试想一下,在你对一个非常复杂的项目进行修改后,如果没有测试会是什么情况?你需要将跟这次修改有关的每个功能都手动测一边,以防止有 BUG 出现。但如果你写了测试,只需执行一条命令就能知道结果,省时省力。

测试类型与框架

测试类型有很多种:单元测试、集成测试、白盒测试...
测试框架也有很多种:Vitest、Jest、Jasmine、LambdaTest...

单元测试

什么是单元测试?维基百科中给出的定义为:
单元测试(英语:Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。
从前端角度来看,单元测试就是对一个函数、一个组件、一个类做的测试,它针对的粒度比较小。
单元测试应该怎么写呢?
  1. 根据正确性写测试,即正确的输入应该有正常的结果。
  1. 根据错误性写测试,即错误的输入应该是错误的结果。

未完……

参考资料

给TA打赏
共{{data.count}}人
人已打赏
技术教程

JavaScript复杂判断的优雅写法

2024-6-25 12:01:31

技术教程

前端工程化入门03 - 构建工具

2024-7-1 13:45:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索