前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >学习笔记——在vue中如何配置Jest(一)

学习笔记——在vue中如何配置Jest(一)

作者头像
zaking
发布于 2019-04-09 02:58:18
发布于 2019-04-09 02:58:18
1.9K0
举报
文章被收录于专栏:zaking'szaking's

最近在搞Jest单元测试,如何在vue中安装和使用jest我就不说了,前一篇文章简单的说了一下在使用jest时遇到的一些问题,但是我觉得并没有真正的解决的很好。后面会在学习过程中更新前面的那篇文章,加入后续遇到的问题以及解决问题的方法,持续的做一个记录。

  好了,废话不多说,咱们开始今天的内容吧。因为之前使用jest时候的项目是移植过来的项目,因为复杂的环境以及外部文件引入的等等等等的问题。采用的方式就是新建一个空的vue-cli生成的用jest来做单元测试的项目,这就导致了测试环境的配置是极为脆弱的。而且还有十分大的隐患。但是又没办法一下子解决。所以,我想在这篇文章中,整理记录一下jest的配置参数的用法等。

  jest的配置文件是单独生成在unit文件夹下的一个独立文件,并没有和vue-cli生成的webpack构建的环境相关联。所以个人感觉这样更清爽一些吧。

一、默认配置文件参数的意义

我们先来看一张图,然后我一一介绍说明他们都是用来做什么的:

  这是当前版本的vue-cli生成的jest.conf.js的配置文件,我们可以在package.json中的配置项里看到,我们在npm run unit 的时候,真正运行的就是这个文件的配置。

  前面的文章说过了,要添加一个testURL来解决找不到localstorage的问题。并且修改mapCorverage为collectCorverage,前者是旧版本的参数。

  那我们接下来一一介绍每个参数的配置及其含义。

rootDir:其实就是指整个项目的根目录,也就是最外层的目录。这里多句嘴,再解释下path.resolve(__dirname,"../../")的意义,他最终返回的结果是该问见所在的根目录,简单来说__dirname返回的是当前目录,再向上两层,就是整个项目的根目录了。

  moduleFileExtensions:这个文档解释的是“模块使用的文件扩展名数组,从左往右查找这些文件”。实际上我的理解,这个参数的意义就是让jest知道你需要测试覆盖的文件的扩展名都是什么。

moduleNameMapper:一种正则表达式到模块名的映射,匹配到的文件的内容可以是空的。我理解的是,可以通过该参数,来mock一些图片,css等静态资源文件,因为我们在测试的时候实际上是不太需要这些文件的,但是有需要引入它作为环境上的依赖。

transform:简单来说就是转换器,正则匹配到的文件可以通过对应模块的转换器来解决一些未来版本语法时可以使用它。通过正则来匹配文件,为匹配到的文件使用对应的模块。

snapshotSerializers:快照测试的插件,会生成测试文件的一个快照版本,可以再package.json中查看安装的快照插件。

setupFiles:运行一些测试环境所要依赖的模块的路径列表,比如引入vue,elementUI等插件的列表,以给测试提供完整的环境。

collectCoverage:是否收集测试时的覆盖率信息。

testURL:该选项是设置jsdom环境的参数。

coverageDirectory:jest输出覆盖率信息文件的目录。

collectCoverageFrom:为数组中匹配的文件收集覆盖率信息,即使并没有为该文件写相关的测试代码,需要将collectCoverage设置为true,或者通过--corverage参数来调用jest。

  这样我们就解释完了基础配置的参数,学习过后,我们对jest的配置有了一个基本的了解。但是要想写单元测试文件,还是远远不够的。下一篇文章,我会介绍如何在为vue的单文件组件写测试用例。并且解释说明一下我在使用jest时候的一个疑问,什么是localVue,shallowMount与mount与localVue的区别是啥?localVue与Vue的区别是啥?那么今天就到这里啦...

参考:https://jestjs.io/docs/en/getting-started

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学习笔记——在vue中如何配置Jest(一)
  最近在搞Jest单元测试,如何在vue中安装和使用jest我就不说了,前一篇文章简单的说了一下在使用jest时遇到的一些问题,但是我觉得并没有真正的解决的很好。后面会在学习过程中更新前面的那篇文章,加入后续遇到的问题以及解决问题的方法,持续的做一个记录。
全栈程序员站长
2022/07/21
2K0
学习笔记——在vue中如何配置Jest(一)
Vue-Test-Utils + Jest 单元测试入门与实践
vs code打开项目你会发现根目录下有一目录test/unit,里面就有一个已经生成的测试用例。
用户6094182
2020/03/20
2.6K0
初尝 Jest 单元测试
最近的几次发布都犯了小错,都是缺乏或者忽视了测试所导致的。通常来说,一个新功能上线的时候,开发和测试都投入比较多,各项测试都是比较全面的。然而,发布上线也并非意味着不再有bug或者修改。那这时候问题来
IMWeb前端团队
2017/12/29
1.8K0
初尝 Jest 单元测试
手摸手教你封装跨项目复用的 Vue 组件库
在前端项目的开发中,往往会根据业务需求,沉淀出一些项目内的UI组件/功能模块(以下通称组件) 等;这些组件初期只在同一个项目中被维护,并被该项目中的不同页面或模块复用,此时的组件逐步被完善,是一个只聚焦于功能和健壮性的成长期。
江米小枣
2020/06/15
2.8K0
实战 | 初尝 Jest 单元测试
作者 | kinkahuang 链接 | http://imweb.io/topic/592aab6eff03ef1a4ef15c51 最近的几次发布都犯了小错,都是缺乏或者忽视了测试所导致的。通常来说,一个新功能上线的时候,开发和测试都投入比较多,各项测试都是比较全面的。然而,发布上线也并非意味着不再有bug或者修改。那这时候问题来了,有些修改, 我们会以为很简单,从而放松警惕,偷懒也罢,没有精力也罢,简单验证之后便匆匆发布了。此时,有可能不经意的改动对其它功能造成了影响,bug复bug, bug何其多
用户1097444
2022/06/29
9490
实战 | 初尝 Jest 单元测试
JavaScript 测试教程 part 1:用 Jest 进行单元测试[每日前端夜话0xE7]
有多种不同种类的测试,我会首先解释其中的一部分。首先,我将介绍单元测试的基础知识,即测试应用程序的每个部分并检查它们是否适合使用。为此我们将使用 Facebook 开发的测试框架 Jest。它已经准备就绪,并具有进行测试所需的功能。
疯狂的技术宅
2019/11/14
2.9K0
《前端那些事》从0到1开发工具库
在日常开发中,特别是中后台管理页面,会经常使用到一些常用的函数比如:防抖节流、本地存储相关、时间格式化等,但是随着项目不断增加,复用性和通用性就成为一个很至关重要的问题,如何减少复制张贴的操作,那就是封装成为,适用与多项目统一的工具包,并用npm进行管理,“U盘式安装”的方式可以提高团队的效率,那今天就讲讲开发一个简易的工具库需要涉及哪些环节,看下图
树酱
2020/07/03
2K0
《前端那些事》从0到1开发工具库
Vue 框架学习系列十二:Vue 3 单元测试与E2E测试
在Vue 3应用的开发过程中,测试是一个至关重要的环节。它不仅能够确保代码的正确性,还能在后续的代码重构和升级过程中提供安全保障。本文将深入探讨Vue 3的单元测试(Unit Testing)和端到端测试(End-to-End Testing, E2E Testing)的基本概念、常用工具以及实践方法。
china马斯克
2024/10/11
4450
你不知道的 Vue 单元测试(6000字实战单元测试)
Vue-Test-Utils 是 Vue.js 官方的单元测试实用工具库,它提供了一系列的 API 来使得我们可以很便捷的去写 Vue 应用中的单元测试。
一只图雀
2020/10/26
11.5K0
你不知道的 Vue 单元测试(6000字实战单元测试)
工作笔记——使用Jest时遇到的一些问题
  最近公司想要从mocha+karma的前端单元测试方式转换到Jest,然后任务就分配给我了,好吧,在这之前连单元测试是什么都不知道。硬生生的开始写单元测试了,写这篇文章的初衷是因为在配置Jest的过程中有好多问题,百度几乎搜索不到,无奈本人英文太差,却又不得不去看英文文档。然后,想要写篇文章,记录下其中遇到的一些问题以及解决问题的方法,当然,现在还有不少问题没有解决,等到解决了之后再来更新…orz。
全栈程序员站长
2022/07/21
1.4K0
工作笔记——使用Jest时遇到的一些问题
工作笔记——使用Jest时遇到的一些问题
  最近公司想要从mocha+karma的前端单元测试方式转换到Jest,然后任务就分配给我了,好吧,在这之前连单元测试是什么都不知道。硬生生的开始写单元测试了,写这篇文章的初衷是因为在配置Jest的过程中有好多问题,百度几乎搜索不到,无奈本人英文太差,却又不得不去看英文文档。然后,想要写篇文章,记录下其中遇到的一些问题以及解决问题的方法,当然,现在还有不少问题没有解决,等到解决了之后再来更新...orz。
zaking
2019/03/19
1.9K0
工作笔记——使用Jest时遇到的一些问题
用 Jest 进行 JavaScript 测试[每日前端夜话0xB6]
在技术术语中测试意味着检查我们的代码是否符合某些预期。例如:给定一些输入,一个名为“transformer”的函数应返回预期的输出。
疯狂的技术宅
2019/09/04
2.8K0
用 Jest 进行 JavaScript 测试[每日前端夜话0xB6]
Jest进阶:接入ts、集成测试与覆盖率统计
在给 vemojs 做完各种测试之后,导师很快提出了新的要求,给 clousebase-cli 编写测试用例。有个问题摆在眼前:它是用 typescript 编写,所以需要配置相关环境。
心谭博客
2020/04/21
2.9K0
手写一个js工具库并且发布到npm上,并且添加eslint和jest单元测试详细教程和解决方案
自从工作以来,写项目的时候经常需要写一些方法,恰好JS基础又十分重要,于是就萌生出自己创建一个JS工具库并发布到npm上的想法
小渔夫
2022/07/18
1.5K0
手写一个js工具库并且发布到npm上,并且添加eslint和jest单元测试详细教程和解决方案
vue单元测试-Jest
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/12
1.1K0
vue单元测试-Jest
前端单元测试那些事
Jest 是 Facebook 开源的一款 JS 单元测试框架,它也是 React 目前使用的单元测试框架,目前vue官方也把它当作为单元测试框架官方推荐 。 目前除了 Facebook 外,Twitter、Airbnb 也在使用 Jest。Jest 除了基本的断言和 Mock 功能外,还有快照测试、实时监控模式、覆盖度报告等实用功能。 同时 Jest 几乎不需要做任何配置便可使用。
树酱
2020/07/03
4.5K0
前端单元测试那些事
前端自动化测试实践01—持续集成之jest自动化测试环境搭建
在互联网时代软件从开发到上线,后续迭代更新,已经形成了一套近乎标准的流程,其中最重要的流程就是持续集成(Continuous integration,简称CI)。"持续"的核心思想在于:在事先难以完全了解完整正确的需求时,干脆把大项目分割成小块完成,并加快交付的速度和频率,使其尽早在下个环节得到验证,若发现问题能够尽早返工。
CS逍遥剑仙
2019/10/31
2.5K0
前端单元测试那些事
Jest 是 Facebook 开源的一款 JS 单元测试框架,它也是 React 目前使用的单元测试框架,目前vue官方也把它当作为单元测试框架官方推荐 。 目前除了 Facebook 外,Twitter、Airbnb 也在使用 Jest。Jest 除了基本的断言和 Mock 功能外,还有快照测试、实时监控模式、覆盖度报告等实用功能。 同时 Jest 几乎不需要做任何配置便可使用。
树酱
2020/10/15
1.6K0
Jest实战:单元测试与服务测试
一名好的大前端开发人员,一定是一名好的“配置工程师”(滑稽脸)。而最近刚到团队,被安排给 vemoJS 和 cloudbase-cli 写测试用例,并且要保证覆盖率!
心谭博客
2020/04/21
3.4K0
提高代码质量——使用Jest和Sinon给已有的代码添加单元测试
在日常的功能开发中,我们的代码测试都依赖于自己或者QA进行测试。这些操作不仅费时费力,而且还依赖开发者自身的驱动。在开发一些第三方依赖的库时,我们也没有办法给第三方提供完整的代码质量报告。
黄Java
2018/09/18
3.8K0
推荐阅读
相关推荐
学习笔记——在vue中如何配置Jest(一)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文