vue单元测试-Jest

发表于:2019-4-03 11:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:afterwawa    来源:思否

  vue接入单元测试Jest,配置花了点时间,相对于selenium+mocha+karma那套配置简单多了
  1.安装
  npm install --save-dev jest @vue/test-utils
  npm install --save-dev vue-jest
  npm install --save-dev babel-jest
  npm install --save-dev jest-serializer-vue
  2.配置babel
  babel配置可以写在package.json,也可以写在.babelrc文件,我的项目是写在.babelrc,并且是分环境,这里不能直接参考网上给出的~坑就在这里,翻阅了内外网资料,仔细看代码才写正确,并且由于报错:Unexpected Token Import for ES6 modules
  终于在https://github.com/facebook/jest/issues/2081%E4%B8%8A%E6%89%BE%E5%88%B0%E8%A7%A3%E6%B3%95,需要增加babel插件
   "test": {
  "presets": [
  ["env", {
  "targets": {
  "node": "current"
  },
  "modules": false
  }]
  ],
  "plugins": ["transform-es2015-modules-commonjs"]
  }
  至此,三套环境的配置如下,官网那个配置简单环境用用就行了,复杂环境还是要多试试:
  3.配置package.json,增加jest的配置
   "jest": {
  "moduleFileExtensions": [
  "js",
  "json",
  "vue"
  ],
  "moduleNameMapper": {
  "^src/(.*)$": "<rootDir>/src/$1"
  },
  "transform": {
  "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
  ".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
  },
  "snapshotSerializers": [
  "<rootDir>/node_modules/jest-serializer-vue"
  ],
  "coverageDirectory": "<rootDir>/test/unit/coverage",
  "collectCoverageFrom": [
  "src/**/*.{js,vue}",
  "!src/index.js",
  "!src/router/index.js",
  "!**/node_modules/**"
  ]
  }
  测试用例存放目录,自己可以写testRegex的正则匹配存放的测试用例,匹配错误的控制台会有提示:Your test suite must contain at least one test,看到这个提示就要检查测试用例的命名是否正确的
  官网默认存放目录如下
  
  5.运行 npm run test ,控制台执行结果如下
  
 
     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号