vue3单元测试--JEST配置

28 篇文章 0 订阅
6 篇文章 0 订阅

package.json

{
  "name": "xxx",
  "version": "1.0.0",
  "scripts": {
    "dev": "vite --host",
    "build": "vue-tsc --noEmit && vite build",
    "test": "jest --silent",
    "test-coverage": "jest --coverage --silent",
    "sonarqube": "sonar-scanner"
  },
  "dependencies": {
    "axios": "^0.21.4",
    "crypto-js": "^4.1.1",
    "echarts": "^5.2.1",
    "element-plus": "^1.1.0-beta.9",
    "jest-css-modules": "^2.1.0",
    "moment": "^2.29.4",
    "nprogress": "^0.2.0",
    "sonarqube-scanner": "2.8.1",
    "vue": "^3.2.6",
    "vue-router": "^4.0.12"
  },
  "devDependencies": {
    "@babel/preset-env": "^7.15.6",
    "@babel/preset-typescript": "^7.15.0",
    "@types/crypto-js": "^4.0.2",
    "@types/jest": "^27.0.2",
    "@types/jsrsasign": "^8.0.13",
    "@types/node": "^16.7.10",
    "@types/nprogress": "^0.2.0",
    "@typescript-eslint/eslint-plugin": "^4.31.0",
    "@typescript-eslint/parser": "^4.31.0",
    "@vitejs/plugin-legacy": "^1.5.3",
    "@vitejs/plugin-vue": "^1.6.0",
    "@vue/compiler-sfc": "^3.2.6",
    "@vue/test-utils": "^2.0.0-0",
    "autoprefixer": "^10.3.4",
    "babel-jest": "^27.2.1",
    "eslint": "^7.2.0",
    "eslint-config-airbnb-base": "^14.2.1",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-vue": "^7.17.0",
    "jest": "^27.2.1",
    "jest-transform-stub": "^2.0.0",
    "jsrsasign": "^7.1.5",
    "less": "^4.1.1",
    "less-loader": "^6.2.0",
    "prettier": "2.4.1",
    "semver": "7.5.2",
    "ts-jest": "^27.0.5",
    "typescript": "^4.3.2",
    "vite": "^2.5.2",
    "vue-jest": "^5.0.0-alpha.10",
    "vue-tsc": "^0.3.0",
    "vue3-jest": "^27.0.0-alpha.1"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/vue3-essential",
      "eslint:recommended",
      "@vue/typescript/recommended"
    ]
  }
}

jest.config.js

module.exports = {
  moduleFileExtensions: [
    'js',
    'ts',
    'vue',
  ],
  moduleNameMapper: {
    // 解决import .css报错问题
    "\\.(css|less|scss|sss|styl)$": "jest-css-modules",
    // 将 @ 路径映射到 src 目录
    '^@/(.*)$': '<rootDir>/src/$1'
  },
  transform: {
    '^.+\\.jsx?$': 'babel-jest',
    '^.+\\.vue?$': 'vue3-jest', // vue文件使用vue3.0的jest处理
    '^.+\\.(ts|tsx)$': 'ts-jest',
    '.+\\.(styl|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub', // 将静态资源转换为字符
  },
  coveragePathIgnorePatterns: [
    '<rootDir>/portal/src/router/.*',
  ],
  // testMatch: [' **/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)'],
  testMatch: ['**/utils/proTable.spec.ts'],
  testEnvironment: 'jsdom',
  collectCoverageFrom: [
    "**/components/ProTable/index.vue",
    // "**/main.ts",
    // "!**/node_modules/**"
  ]
};

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值