• 0
  • 0
分享

关于单元测试这个概念,我想很多前端的小伙伴都知道,但是却并不一定能描述清楚。由于我开始接触单元测试还是在四个月前,当时也只是做了一些纯函数的单元测试。所以在这里只能说浅谈一下前端单元测试。

什么是单元测试?

我理解的单元测试就是用于测试一个模块能否到达预期效果。通过代码来定义一个可用的衡量标准,并且可以快速检验。

为什么要做单元测试?

随着前端的快速发展,各类框架层出不穷,前端实现的业务逻辑也越来越复杂,这时单元测试的作用就凸显出来了。其实目前为止还是有很多代码是缺少单测的,只是现在单测的重视程度越来越高了而已。单测的好处不言而喻,首先可以提高代码的正确性,在上线前做到心里有底。其次当代码需要重构时,有测试用例做后盾,就可以大胆进行重构。然后从学习曲线来看,单元测试比较容易上手,覆盖的范围比较全面。

测试框架

目前的测试框架很多,今天咱们单拎出来Jest来说一下。

Jest是Facebook出品的通用测试框架

一个好用的JavaScript测试框架,开箱即用,无需配置 。

适用但不局限于使用以下技术的项目:Babel,Typescript,Node,React,Angular,Vue

整个工具放在一个地方,好书写好维护,非常方便

开始使用

  • 安装Jest

yarn add --dev jest 或npn install --save-dev jest
  • 配置package.json

1.png

  • 测试用例           

2.png

  • 运行结果

npm run test 开始运行,得到测试结果

当然这并不是上面例子的测试结果,只是找了张图片来给大家看一下测试结果是什么样子的。

3.png

单测的质量很重要,覆盖率一定程度上客观反应了单测的质量。

4.png

拓展

这一期我们只是浅谈了一下前端的单元测试和Jeat,而且我们是在node里做测试,如果要在浏览器里做单测应该怎么办,这里就需要去更加深入了解关于Ui Jest的知识了。


作者:前端卷心菜

原文链接:https://blog.csdn.net/m0_63588797/article/details/123373947

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、软件测试的生命周期(软件测试的流程是什么?)需求分析——测试计划——测试设计/开发——测试执行——测试评估需求分析对需求进行合理化筛选,分析需求对需求明确细化测试计划: 测试进行的人员、时间、测试范围、测试目的等具体进行计划测试设计/开发: 根据需求提炼出的功能点开发测试用例测试执行 执行测试用例 找BUG 回归测试测试评估 评估本次测试的情况二、如何描述一个BUG?首先BUG就是和需求分析说明书中不匹配的功能,我们在实际测试中就需要将测出来的BUG记录在BUG管理工具(禅道,tapd,jira)里,以便开发人员查看,为了能让开发人员更能清楚的了解到BUG,我们就要规范书写BUG,包含以下...
            0 0 1106
            分享
          • 1.BUG等级划分建议:目前project上的BUG严重程度分为五个等级,按照CMM5中定义的规范,BUG严重等级可分为3-5个等级,由于我们公司的CMM水平还处于初级阶段,将BUG等级划分过细不符合我们当前的CMM水平,同时也不利于测试人员对BUG等级的精确划分。根据我们公司的情况,同时参照其它中小公司的等级划分标准,建议将BUG等级划分四个等级,分别为致命、严重、一般、提示。致命(可对应目前BUG体系中的“非常严重”):致命性问题主要为:系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定。具体基本上可分为:严重花屏内存泄漏用户数据丢失或破坏系统崩溃/死机...
            0 0 3018
            分享
          •   需要提前说明下的是到目前为止,笔者还没有达到一个合格的测试架构师的标准,但是应该是已经走在这条路上了,所以想通过自己的成长经历给其他想朝这个方向发展的同学有点启发,同时也期望能够抛砖引玉。       先说说笔者的初始条件(应该很多人看了都会有更多的自信吧):一个普通本科学校,虽然是科班出身,但是除了大学的课程设计以及其他需要写代码的功课外,基本上没有去主动写过代码,更别说去研究linux内核等等高大上的事情了,反正基础是很差的(你别问我大学都干嘛去了,我也不知道,反正兼职,泡妞,打球,游戏,图书馆,考研等全都干过,就是没有去专研过代码),所以,毕业后程序猿的...
            14 14 2433
            分享
          •   1、添加Jdbc Request  2、添加ForEach控制器(右键线程组->逻辑控制器->ForEach控制器)  ①输入变量的前缀:mobilephone;  从jdbc request设置的变量得知,我们要取的值为mobilephone_1、mobilephone_2、mobilephone_3......所以这里输入mobilephone  ②Start index for loop:0  变量循环启动的索引,第一个元素起始索引+1End index for loop:6;变量循环结束的索引。所以这里是取值mobilephone_1、mobilephone_2、......
            0 0 162
            分享
          •   摘要  通过严格的实践来增强系统的性能和可恢复性,并对这些方面进行持续的测试,是预先找到问题的好方法。与测试的其他方面一样,性能实践的质量要比数量重要得多,这里有七个简单的技巧可以帮助你在测试系统的性能和可恢复性时更高效。  软件的性能和可恢复性是用户体验的关键组成部分,但是随着软件行业对开发运维一体化(DevOps)模式的接纳,它开始在性能和可恢复性方面表现出不足。  在软件完全失败之前,性能问题常常被忽略。  然而,我们都知道,性能不会突然下降。由于软件是通过迭代发布的,每次添加更多代码时都要付出性能成本,添加的逻辑循环也可能导致故障,从而影响到整个系统的稳定性。  严重的性能或软件可...
            0 0 818
            分享
      • 51testing软件测试圈微信