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 相关文章推荐
Extjs学习笔记之二 初识Extjs之Form
Jan 07 Javascript
多浏览器支持的右下角浮动窗口
Apr 01 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
Oct 23 Javascript
javascript测试题练习代码
Oct 10 Javascript
extjs 04_grid 单击事件新发现
Nov 27 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
Jul 08 Javascript
深入理解Javascript中this的作用域
Aug 12 Javascript
JavaScript获取对象在页面中位置坐标的方法
Feb 03 Javascript
Bootstrap学习笔记之css样式设计(1)
Jun 07 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
Aug 31 Javascript
Javascript实现找不同色块的游戏
Jul 17 Javascript
js计时事件实现圆形时钟
Mar 25 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 判断字符串中是否包含html标签
2014/02/17 PHP
php动态函数调用方法
2015/05/21 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
Python遍历指定文件及文件夹的方法
2015/05/09 Python
Python函数式编程指南(二):从函数开始
2015/06/24 Python
python3排序的实例方法
2020/10/20 Python
python 如何在测试中使用 Mock
2021/03/01 Python
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
介绍Ibatis的核心类
2013/11/18 面试题
一道Delphi上机题
2012/06/04 面试题
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
英文慰问信范文
2015/03/24 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
调研报告的主要写法
2019/04/18 职场文书
800字作文之大雪
2019/12/04 职场文书
Python中文纠错的简单实现
2021/07/07 Python
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android