vue-cli3 karma单元测试的实现


Posted in Javascript onJanuary 18, 2019

Karma

Karma是一个测试工具,能让你的代码在浏览器环境下测试。代码可能是设计在浏览器端执行的,在node环境下测试可能有些bug暴露不出来(比如要做样式的测试),如果你的代码只会运行在node端,那么你不需要用karma。

vue-cli3 结合karma

经过查找搜索到vue-cli-plugin-unit-karma插件, 集成vue-cli3与karma,但是结果不那么完美,执行的时候还是报错。

不过功夫不负有心人,终于找到解决方法,步骤如下

安装依赖

npm install --save-dev @vue/test-utils karma karma-chrome-launcher karma-mocha karma-sourcemap-loader karma-spec-reporter karma-webpack mocha

在package.json层创建karma.conf.js (注意,是conf,不是config!!!)

内容如下

var webpackConfig = require('@vue/cli-service/webpack.config.js')
module.exports = function (config) {
  config.set({
    frameworks: ['mocha'],
    files: [
      'tests/**/*.spec.js'  //tests目录下,所有.spce.js结尾的测试文件
    ],
    preprocessors: {
      '**/*.spec.js': ['webpack', 'sourcemap']
    },
    webpack: webpackConfig,
    reporters: ['spec'],
    browsers: ['ChromeHeadless']
  })
}

package.json内增加script命令

"test": "karma start"

最后执行 npm run test 即可

参考

Testing Single-File Components with Karma

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
深入学习jQuery Validate表单验证
Jan 18 Javascript
详解javascript new的运行机制
Jan 26 Javascript
浅析AngularJS中的指令
Mar 20 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
May 24 Javascript
原生JavaScript实现Ajax异步请求
Nov 19 Javascript
原生js实现省市区三级联动代码分享
Feb 12 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
Aug 12 Javascript
ajax与jsonp的区别及用法
Oct 16 Javascript
小程序云开发实现数据库异步操作同步化
May 18 Javascript
js实现div色块碰撞
Jan 16 Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
Jan 18 #Javascript
如何解决.vue文件url引用文件的问题
Jan 18 #Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
Jan 18 #jQuery
vue.js实现的幻灯片功能示例
Jan 18 #Javascript
vue ssr 实现方式(学习笔记)
Jan 18 #Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 #Javascript
jquery的$().each和$.each的区别
Jan 18 #jQuery
You might like
php中用数组的方法设置cookies
2011/04/21 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
destoon二次开发入门示例
2014/06/20 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
php简单的上传类分享
2016/05/15 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
javascript显示选择目录对话框的代码
2008/11/10 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成"...")
2016/11/28 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
python中set常用操作汇总
2016/06/30 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
python Cartopy的基础使用详解
2020/11/01 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
保险公司早会主持词
2014/03/22 职场文书
高三学生评语大全
2014/04/25 职场文书
初中毕业生自我评价
2015/03/02 职场文书
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫