vue项目中添加单元测试的方法


Posted in Javascript onJuly 21, 2018

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

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

vue init webpack vuetest

vue项目中添加单元测试的方法

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

3、修改package.json,在scripts里添加启动代码

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

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

vue项目中添加单元测试的方法

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

改为:

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

应该是karma为了测试代码的覆盖率,原本加载了除main.js的所有文件,我改为把style去除

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

vue项目中添加单元测试的方法

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

npm run unit

vue项目中添加单元测试的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用js(jquery)操作Cookie的方法说明
Dec 19 Javascript
tuzhu_req.js 实现仿百度图片首页效果
Aug 11 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 Javascript
Node.js返回JSONP详解
May 18 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
Aug 11 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
vue-cli构建项目下使用微信分享功能
May 28 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
微信小程序地图(map)组件点击(tap)获取经纬度的方法
Jan 10 Javascript
jQuery实现合并表格单元格中相同行操作示例
Jan 28 jQuery
微信小程序使用echarts获取数据并生成折线图
Oct 16 Javascript
微信小程序实现列表左右滑动
Nov 19 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
Jul 21 #Javascript
jQuery实现的点击按钮改变样式功能示例
Jul 21 #jQuery
jQuery实现输入框的放大和缩小功能示例
Jul 21 #jQuery
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 #jQuery
浅谈vue父子组件怎么传值
Jul 21 #Javascript
通过webpack引入第三方库的方法
Jul 20 #Javascript
详解Koa中更方便简单发送响应的方式
Jul 20 #Javascript
You might like
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
PHP定时更新程序设计思路分享
2014/06/10 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
Javascript浅谈之this
2013/12/17 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
详细解读Python中解析XML数据的方法
2015/10/15 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
法律专业自我鉴定
2013/10/03 职场文书
精彩的大学生自我评价
2013/11/17 职场文书
小班下学期评语
2014/05/04 职场文书
企业管理标语
2014/06/10 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
golang interface判断为空nil的实现代码
2021/04/24 Golang
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python