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代码
Jan 28 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
Sep 05 Javascript
浅谈Javascript面向对象编程
Nov 15 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
Sep 25 Javascript
15款jQuery分布引导插件分享
Feb 04 Javascript
js正则匹配出所有图片及图片地址src的方法
Jun 08 Javascript
AngularJS封装指令方法详解
Dec 12 Javascript
js中创建对象的几种方式
Feb 05 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
Jul 27 Javascript
vue.js打包之后可能会遇到的坑!
Jun 03 Javascript
Taro集成Redux快速上手的方法示例
Jun 21 Javascript
vue点击按钮实现简单页面的切换
Sep 08 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
php 实现Hash表功能实例详解
2016/11/29 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
Python中动态检测编码chardet的使用教程
2017/07/06 Python
python select.select模块通信全过程解析
2017/09/20 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
捷克多品牌在线时尚商店:ANSWEAR.cz
2020/10/03 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
技校教师求职简历的自我评价
2013/10/20 职场文书
2014年大学生自我评价
2014/01/19 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
小学生家长意见
2015/06/03 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL