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入门应用一
Nov 19 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
Mar 01 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
Jun 19 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
jQuery实现的淡入淡出图片轮播效果示例
Aug 29 jQuery
详解Vue改变数组中对象的属性不重新渲染View的解决方案
Sep 21 Javascript
VUE中使用MUI方法
Feb 12 Javascript
webpack4 SplitChunks实现代码分隔详解
May 23 Javascript
layui时间控件选择时间范围的实现方法
Sep 28 Javascript
Vue实现数据请求拦截
Oct 23 Javascript
jQuery 选择器用法实例分析【prev + next】
May 22 jQuery
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购物网站支付paypal使用方法
2010/11/28 PHP
浅析PHP微信支付通知的处理方式
2014/05/25 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
Python中__name__的使用实例
2015/04/14 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
在Python中COM口的调用方法
2019/07/03 Python
Form表单及django的form表单的补充
2019/07/25 Python
使用python制作一个解压缩软件
2019/11/13 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
详解python程序中的多任务
2020/09/16 Python
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
百货商场楼层班组长竞聘书
2014/03/31 职场文书
宾馆客房管理制度
2015/08/06 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书