vue单元测试-Jest

顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,

主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。

来源:http://www.51testing.com

  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 ,控制台执行结果如下

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

本文分享自微信公众号 - 软件测试培训(iTestTrain),作者:软件测试培训

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++语言的单元测试与代码覆盖率

    直接交付没有经过测试的代码是不太好的,因为这很可能会浪费整个团队的时间,在一些原本早期就可以发现的问题上。而单元测试,就是发现问题一个很重要的环节。

    小老鼠
  • 一个Web浏览器压力测试工具

    顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscr...

    小老鼠
  • Appium超详细环境搭建for-Mac

    顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscr...

    小老鼠
  • Kubernetes-Host网络模式应用

    问天丶天问
  • 如何评测语音技能的智能程度(1)——意图理解

    平日里研究各种各样的语音助手,输出各种类型的调研分析报告,以培养自己的业务敏锐度,同时也研究各种框架型知识以丰富自己的知识库。

    半吊子全栈工匠
  • pytest文档58-随机执行测试用例(pytest-random-order)

    通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果。 pytest默认运行用例的顺序是按...

    上海-悠悠
  • 编写自己的 GitHub Action,体验自动化部署

    本文将介绍如何使用 GitHub Actions 部署前端静态页面,以及如何自己创建一个 Docker 容器 Action。

    张凯强
  • 69-匿名函数和filter

    凯茜的老爸
  • go 性能调优

    go 自带profile工具,包括对内存,cpu等监控,可以根据需要对程序进行调优。 如果需要生成直观图表,则配合安装graphviz工具,在cento...

    良人王
  • GMM的世界,你不懂?(下篇)

    在 GMM的世界,你不懂?(上篇) 里面简介了GMM的诞生的思绪历程, 当然是猜的啦。 这里稍微扩展点点, 说明下下GMM的广和美。

    史博

扫码关注云+社区

领取腾讯云代金券