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 相关文章推荐
Mootools 1.2教程 滚动条(Slider)
Sep 15 Javascript
JavaScript 原型与继承说明
Jun 09 Javascript
php is_numberic函数造成的SQL注入漏洞
Mar 10 Javascript
javascript+canvas实现刮刮卡抽奖效果
Jul 29 Javascript
谈谈JavaScript异步函数发展历程
Sep 29 Javascript
Node.js编写组件的三种实现方式
Feb 25 Javascript
JS实现刷新父页面不弹出提示框的方法
Jun 22 Javascript
轻松掌握JavaScript单例模式
Aug 25 Javascript
JavaScript中Object基础内部方法图
Feb 05 Javascript
少女风vue组件库的制作全过程
May 15 Javascript
JS实现简单日历特效
Jan 03 Javascript
Vue vm.$attrs使用场景详解
Mar 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
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
谈谈impress.js初步理解
2015/09/09 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
python滑块验证码的破解实现
2019/11/10 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
python 串行执行和并行执行实例
2020/04/30 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
新闻系毕业生推荐信
2013/11/16 职场文书
《猫》教学反思
2014/02/26 职场文书
2014年审计工作总结
2014/11/17 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
docker 制作mysql镜像并自动安装
2022/05/20 Servers