搭建 vue2 单元测试环境(karma+mocha+webpack3)

从网上找了不少例子关于单元测试,都是如何新建项目的时候的添加单元测试,用vue-cli中怎么添加,可是个人项目已经生成了,不能再一次从新初始化,这时如何添加单元测试,这里面遇到了好多坑,写在这里记录一下心得。css

一、用vue-cli生成一个新的项目,把单元测试须要的文件直接复制到你的项目中

vue init webpack vuetest

project catalog

文件下载地址 源代码Github连接

二、安装Karma+Mocha模块,这个模块依赖比较多,我在遇到了坑,解决问题半天发现缺乏了某个模块,在这里所有列出须要的模块

npm i -D karma karma-webpack phantomjs-prebuilt karma-phantomjs-launcher karma-phantomjs-shim karma-chrome-launcher karma-sourcemap-loader mocha karma-mocha sinon chai sinon-chai karma-sinon-chai karma-spec-reporter karma-coverage istanbul-instrumenter-loader

三、修改package.json,在scripts里添加启动代码(若是有unit就替换掉)

"unit": "karma start test/unit/karma.conf.js --single-run",

四、修改test目录下的index.js文件,这里是我遇到的最大的坑,解决了半天,老是提示.scss文件出错,下面就是解决的办法。

update index.js

const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)

改成:vue

const srcContext = require.context('../../src', true, /^\.\/(style$) /)

五、能够复制vue-cli生成的项目文件来测试,以下图,而且配置好路由,测试一下单元测试模块是否安装成功

HelloWord.vue

六、在项目中运行下面的命令,启动单元测试

npm run unit

success log

同时在 test/unit/coverage 生成测试报告。以上就是一个简单的 vue 单元测试实例。最后奉上源代码

深刻研究参考文档

Vue.js学习系列六——Vue单元测试Karma+Mocha学习笔记webpack

karma+webpack搭建vue单元测试环境git

karma+mocha+webpack3 搭建 vue2 单元测试环境github

做者相关Vue文章

基于Vue2.0实现后台系统权限控制web

vue2.0-基于elementui换肤[自定义主题]chrome

Vue国际化处理 vue-i18n 以及项目自动切换中英文vue-cli

打赏 衷心的表示感谢 打赏的都是好人一辈子平安。帅哥美女已经打赏还在等什么。

打赏

相关文章
相关标签/搜索