vue2单元测试环境搭建


Posted in Javascript onMay 24, 2018

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

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

vue init webpack vuetest

vue2单元测试环境搭建

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

2、安装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

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

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

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

vue2单元测试环境搭建

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

改为:

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

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

vue2单元测试环境搭建

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

npm run unit

vue2单元测试环境搭建

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

Javascript 相关文章推荐
表单提交验证类
Jul 14 Javascript
jQuery实现左右切换焦点图
Apr 03 Javascript
初识Javascript小结
Jul 16 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
Node.js用readline模块实现输入输出
Dec 16 Javascript
vue.js树形组件之删除双击增加分支实例代码
Feb 28 Javascript
详解关于react-redux中的connect用法介绍及原理解析
Sep 11 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
javascript头像上传代码实例
Sep 28 Javascript
详解vue3.0 diff算法的使用(超详细)
Jul 01 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 Javascript
如何阻止移动端浏览器点击图片浏览
Aug 29 Javascript
Vue+mui实现图片的本地缓存示例代码
May 24 #Javascript
vue组件name的作用小结
May 23 #Javascript
linux 后台运行node服务指令方法
May 23 #Javascript
node.js部署之启动后台运行forever的方法
May 23 #Javascript
jquery引入外部CDN 加载失败则引入本地jq库
May 23 #jQuery
jQuery实现form表单序列化转换为json对象功能示例
May 23 #jQuery
让Vue也可以使用Redux的方法
May 23 #Javascript
You might like
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
使用js显示当前时间示例
2014/03/02 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python制作填词游戏步骤详解
2019/05/05 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
暑期社会实践感言
2014/02/25 职场文书
暑期教师培训方案
2014/06/07 职场文书
授权收款委托书范本
2014/10/10 职场文书
领导干部作风建设总结
2014/10/23 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
关于远足的感想
2015/08/10 职场文书
高二数学教学反思
2016/02/18 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL