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 相关文章推荐
javascript 建设银行登陆键盘
Jun 10 Javascript
JavaScript Konami Code 实现代码
Jul 29 Javascript
javascript 面向对象编程 万物皆对象
Sep 17 Javascript
一个js的tab切换效果代码[代码分离]
Apr 11 Javascript
JavaScript实现的encode64加密算法实例分析
Apr 15 Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
Jul 27 Javascript
JS实现支持多选的遍历下拉列表代码
Aug 20 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
Feb 09 Javascript
本地存储localStorage用法详解
Jul 31 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
May 03 Javascript
Openlayers实现点闪烁扩散效果
Sep 24 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实现MySQL更新记录的代码
2008/06/07 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
php递归json类实例
2014/12/02 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
python迭代器的使用方法实例
2013/11/21 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
Python调用百度根据经纬度查询地址的示例代码
2019/07/07 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
数据库的约束含义
2012/09/09 面试题
教师个人剖析材料
2014/02/05 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
旅行社计调工作总结
2015/08/12 职场文书