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 相关文章推荐
Javascript之文件操作
Mar 07 Javascript
Document 对象的常用方法
Jul 31 Javascript
JavaScript中的prototype使用说明
Apr 13 Javascript
理解Javascript_08_函数对象
Oct 15 Javascript
JavaScript 参数中的数组展开 [译]
Sep 21 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
angularjs表格分页功能详解
Jan 21 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
Jan 20 Javascript
Bootstrap Scrollspy源码学习
Mar 02 Javascript
js数组去重的N种方法(小结)
Jun 07 Javascript
jQuery 添加元素和删除元素的方法
Jul 15 jQuery
在vue项目中引用Antv G2,以饼图为例讲解
Oct 28 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 无线电
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
Javascript的匿名函数小结
2009/12/31 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
Python实现的批量下载RFC文档
2015/03/10 Python
浅谈Python单向链表的实现
2015/12/24 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
python学习教程之使用py2exe打包
2017/09/24 Python
Python数据分析库pandas基本操作方法
2018/04/08 Python
python 提取文件指定列的方法示例
2019/08/07 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
值传递还是引用传递
2015/02/08 面试题
应届毕业生应聘自荐信范文
2014/02/26 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
汽车转让协议书范本
2014/12/07 职场文书
史上最牛辞职信
2015/05/13 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫