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 相关文章推荐
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
Mar 28 Javascript
c#和Javascript操作同一json对象的实现代码
Jan 17 Javascript
javascript实现分栏显示小技巧附图
Oct 13 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
Nov 04 Javascript
整理Javascript函数学习笔记
Dec 01 Javascript
微信小程序 http请求详细介绍
Oct 09 Javascript
Angularjs 依赖压缩及自定义过滤器写法
Feb 04 Javascript
vue2笔记 — vue-router路由懒加载的实现
Mar 03 Javascript
Jquery把获取到的input值转换成json
May 15 jQuery
AngularJS常见过滤器用法实例总结
Jul 06 Javascript
vue项目中使用axios上传图片等文件操作
Nov 02 Javascript
js实现一个简易计算器
Mar 30 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
如何使用Strace调试工具
2013/06/03 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
零基础php编程好学吗
2019/10/11 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
YUI的Tab切换实现代码
2010/04/11 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
js异步上传多张图片插件的使用方法
2018/10/22 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
python逐行读取文件内容的三种方法
2014/01/20 Python
让 python 命令行也可以自动补全
2014/11/30 Python
Python简单日志处理类分享
2015/02/14 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
Python如何使用函数做字典的值
2019/11/30 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
总经理秘书工作职责
2013/12/26 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
个人专业技术总结
2015/03/05 职场文书
个人年终总结开头
2015/03/06 职场文书
单位提档介绍信
2015/10/22 职场文书
高一作文之暖冬
2019/11/09 职场文书
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS