JEST测试Vue2+elementui项目

参考文档:
https://v1.test-utils.vuejs.org/zh/
https://www.jestjs.cn/jest中文文档
第一步安装
@vue/test-utils要指定1.0的版本,否则是vue3的

npm install -D jest vue-jest babel-core babel-jest @vue/vue2-jest jsdom @babel/preset-env jsdom-global @vue/test-utils@1.0.3

如果提示babel-core版本低,则升级为7.0以上,安装如下命令:

npm install --save-dev babel-core@^7.0.0-bridge.0

如果vue-template-compiler报错,请升级为2.7版本。

npm uninstall vue-template-compiler
npm i vue-template-compiler@2.7.11

第二步 配置
1 根目录新建jest.config.js

const path = require('path');
module.exports = {
  rootDir: path.resolve(__dirname, './'), // 根据自己项目来
  moduleFileExtensions: [
    "js",
    "json",
    "vue"
  ],
  transformIgnorePatterns: ["/node_modules/"],
  testEnvironment: "node",
  collectCoverage: true,
  collectCoverageFrom: [
    "**/src/components/**/*.{js,vue}"
  ],
  testRegex: '(/tests/unit/.*\\.(test|spec))\\.[tj]sx?$',//测试文件的地址配置
  transform: {
    "^.+\\.js$": "<rootDir>/node_modules/babel-jest",//告诉 Jest 用 babel-jest 处理 JavaScript 测试文件
    ".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"//告诉 Jest 用 vue-jest 处理 .vue 文件
  },
  moduleNameMapper:{
    "^@/(.*)$": "<rootDir>/$1"
  },     
  setupFiles: ['<rootDir>jest.setup.js'], //启动jest需要的文件
  testEnvironmentOptions: {
    url: "http://localhost"
  }
};

2 根目录新建jest.setup.js

require('jsdom-global')();

3 根目录新建tests/utils/xxx.test.js
然后就可以在xxx.test.js写测试案例了。
例如:

// jest是执行测试用例的工具,运行npm run test,就会找到所有的.test.js文件并行执行。
// 想要测试某个组件,直接引入该组件,然后编写测试用例代码
// 想要测试某个js方法也可以。

import { createLocalVue, shallowMount } from '@vue/test-utils';
import ElementUI from 'element-ui';
const localVue = createLocalVue();
localVue.use(ElementUI);
import DetailField from '@/src/views/UopBusiFront/JreEngine/FieldManage/DetailField';
describe('DetailField', () => {
  it('有el-dialog', () => {
    const wrapper = shallowMount(DetailField, {localVue});
    const elForm = wrapper.find('el-dialog');
    expect(elForm.exists()).toBe(true);
  })
})

4 package.json配置

"test": "jest"

5 babel.config.js

module.exports = {
  presets: [
    [
      "@babel/preset-env",
      {
          "targets": {
              "node": "current"
          }
      }
    ]
  ]
}

配置完成后,运行npm run test即可测试。

Vue + Element UI是一个非常流行的前端开发组合,它结合了Vue.js作为轻量级的MVVM框架和Element UI作为功能强大的UI组件库。下面是如何完善一个基于Vue和Element UI的前端页面的基本步骤: 1. **安装依赖**: - 首先确保已安装Node.js和npm(Node包管理器)。然后运行`npm install vue-element-admin` 或 `yarn add vue-element-admin` 来初始化项目并安装必要的工具。 2. **设置基础结构**: - 创建基本的文件结构,如index.html、main.js、App.vue等,并引入Vue及Element UI的库文件。 3. **创建组件**: - 使用Element UI提供的各种预设组件,如`el-button`、`el-form`、`el-table`等,构建页面布局和交互控件。可以自定义组件或者使用Element UI的自定义主题进行美化。 4. **数据绑定和状态管理**: - 使用Vue的数据双向绑定机制将组件的视图与模型关联起来。对于复杂的业务逻辑,可以考虑使用Vuex进行状态管理。 5. **路由配置**: - 引入vue-router,配置路由跳转以及对应的组件显示。Element UI提供了路由懒加载的便捷支持。 6. **样式管理**: - 可能会用到CSS预处理器如Sass或Less,或者使用Vue CLI的 scoped属性配合CSS Modules进行样式隔离。 7. **响应式设计**: - 确保页面在不同屏幕尺寸上都能正常工作,这可通过Element UI的响应式组件或第三方库完成。 8. **测试和优化**: - 使用单元测试库如Jest对关键功能进行测试,同时关注性能优化,比如图片懒加载、CDN资源引用等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值