当前位置: 首页 > news >正文

在已有vue cli项目中添加单元测试配置

使用的是vue cli ^4.0.0的脚手架,项目采用的vue2进行编写,项目本身是没有使用单元测试的。应该挺多项目还是使用的vue2的项目进行开发的,自己在开发中过程中,还是发生了挺多需要记录原来功能的情况,这个时候去翻文档明显是不怎么可取的,且项目中文档不一定写的很好。

安装的依赖

pnpm i -D @vue/cli-plugin-unit-jest@4 @vue/test-utils@1 jest@26 @vue/vue2-jest@26 babel-jest@26

增加执行测试的脚本

文档路径:package.json

{"scripts": {// ..."test:unit": "jest",}
}

增加jest配置

文档路径:jest.config.js

module.exports = {preset: '@vue/cli-plugin-unit-jest',collectCoverage: false,collectCoverageFrom: ['src/**/*.{js,vue}','!src/main.js','!src/router/index.js','!src/store/**/*.js','!**/node_modules/**',],
};

修改babel的配置

文档路径:.eslintrc.js

module.exports = {// ...env: {// ...jest: true,},
}

测试的组件

文件路径:tests\unit\components\formModule.spec.js,默认的测试文件的路径匹配到**/tests/unit/**/*/之下的文件中,所以按这个路径放文件就可以测试到

import { mount } from '@vue/test-utils';
import formModule from '@/components/form/formModule.vue';describe('测试组件formModule.vue', () => {it('测试表单模块标题', () => {const title = '基本信息';const wrapper = mount(formModule, {propsData: {title,},});expect(wrapper.text()).toMatch(title);});
});

执行测试

npx pnpm test:unit

如果使用collectCoverage: true的配置的话, 可以生成代码的覆盖率

其他安装依赖的问题

问题1:TypeError: (0 , _vueJest.describe) is not a function

解决:在eslint中的env中添加jest为true

问题2:TypeError: Cannot destructure property ‘ensureValidVNode’ of ‘Vue.ssrUtils’ as it is undefined

解决:安装npx pnpm i -D @vue/test-utils@1

http://www.lryc.cn/news/509108.html

相关文章:

  • 企业级NoSql数据库REDIS集群
  • HTML与数据抓取:GET与POST方法详解
  • 【es6复习笔记】模板字符串(3)
  • cursor保存更改操作技巧
  • ASP.NET |日常开发中定时任务详解
  • 【零基础保姆级教程】制作自己的数据集(二)——Labelme的安装与使用及常见的报错解决方法
  • Move AI技术浅析(二):输入与预处理
  • 实践KDTS-WEB从mysql迁移到kingbasev9
  • WebGIS实战开源项目:智慧机场三维可视化(学习笔记)
  • 2025年PMP项目管理考试时间一览表
  • 20241224在ubuntu20.04.6下的终端分屏软件terminator的安装以及使用
  • 打造高效租赁小程序让交易更便捷
  • 光谱相机在农业中的具体应用案例
  • Linux RTC 驱动框架
  • msyql数据库读写分离搭建
  • WWW23-多行为级联|级联图卷积网络的多行为推荐
  • 【EthIf-14】EthIfGeneral容器配置-02
  • 近实时”(NRT)搜索、倒排索引
  • Ubuntu20.04安装openMVS<成功>.colmap<成功>和openMVG<失败(已成功)>
  • 从测试服务器手动热部署到生产环境的实现
  • 【c++高阶DS】图
  • React第十八节 useEffect 用法使用技巧注意事项详解
  • C++ 指针基础:开启内存操控之门
  • Nginx的stream模块代理四层协议TCP的流量转发
  • UE5 渲染管线 学习笔记
  • Echarts连接数据库,实时绘制图表详解
  • Electron 学习笔记
  • Debian 12 安装配置 fail2ban 保护 SSH 访问
  • http反向代理
  • java12.24日记