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

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

大家好,又见面了,我是你们的朋友全栈君。

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

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

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

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

  我们先来看一张图,然后我一一介绍说明他们都是用来做什么的:<span role="heading" aria-level="2">学习笔记——在vue中如何配置Jest(一)

  这是当前版本的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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124401.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月25日 下午3:35
下一篇 2022年3月25日 下午3:35


相关推荐

  • 纯C语言编程实现数独解法

    纯C语言编程实现数独解法编程解决数独问题 网上查了很多资料 大多数的 C 语言程序虽然可以运行出结果 但是往往定义了很多全局数组变量来存储待解决数独中每一个空的状态信息 如 通过扫描整个数独表 记录待填的空的位置 记录每个待填空所在行和列已经有哪些值 接下来可以填哪些值等信息 这导致代码中全局变量很多 全局变量在整个程序中到处调用 在没有足够注释的情况下整个程序可读性不高 代码结构不是很清楚

    2026年3月18日
    1
  • 网站博客搬家工具大全「建议收藏」

    网站博客搬家工具大全「建议收藏」网站博客搬家工具大全,所有大小网站博客搬家工具应有尽有!2009-07-1214:26目标对象:新浪博客、搜狐博客、网易部落、TOM博客、MSNSpace、天涯社区、中国博客网、中华部落阁、博客中国、博客中国专栏、DoNews、歪酷博客、敏思博客、BlogBUS、BlogDrive、百度空间、mop博客。服务特色:该ID下博客文章、链接、图片;文章内嵌入的流媒体

    2022年7月12日
    20
  • NVLink技术及影响解析

    NVLink技术及影响解析NVLink 技术及影响解析

    2026年3月20日
    2
  • SP网站建立后.有两处地方需要首先修改

    SP网站建立后.有两处地方需要首先修改1.SP管理中心—-系统设置—-配置备用访问映射内部URL区域区域的公用URL http://kms:504 默认http://kms:504 http://localhost:504 Intranethttp://localhost:504 http://192.168.1.109:504 Internethttp://192.168.1.109:5

    2022年6月17日
    33
  • Exchange2010 owa 访问 http 500 内部服务器错误

    Exchange2010 owa 访问 http 500 内部服务器错误故障原因:exchange2010服务器意外关机,重启后owa能打开,输入用户名及密码后,无法访问“http500内部服务器错误”解决方法:在控制面板中打开“服务”,找到“基于MicrosoftExchange表单的身份验证服务”并启动该服务。然后重启下IIS,OWA访问回复正常。本文转自liang_simon51CTO博…

    2022年8月12日
    7
  • [学习笔记] LaTeX中文显示

    [学习笔记] LaTeX中文显示经过一番折腾 终于可以在 LaTeX LaTeXLATE X 中显示中文了 目前测试成功有以下两种方法 注意 以下两种方式都要将方本设置为 UTF 8 格式 方法 1 使用 CJK 包 Mode TeX UTF 8 documentclas 12pt letterpaper article usepackage CTEX begin document begin CJK

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号