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 相关文章推荐
JavaScript中实现块作用域的方法
Apr 01 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
实现高性能JavaScript之执行与加载
Jan 30 Javascript
angular-cli修改端口号【angular2】
Apr 19 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
Aug 18 Javascript
基于require.js的使用(实例讲解)
Sep 07 Javascript
基于vue2.x的电商图片放大镜插件的使用
Jan 22 Javascript
AngularJS中重新加载当前路由页面的方法
Mar 09 Javascript
Vue 中获取当前时间并实时刷新的实现代码
May 12 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 Javascript
vue-cli3自动消除console.log()的调试信息方式
Oct 21 Javascript
JavaScript流程控制(分支)
Dec 06 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过滤表单提交的html等危险代码
2014/11/03 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
python如何在终端里面显示一张图片
2016/08/17 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
谈谈python中GUI的选择
2018/03/01 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
Python之pymysql的使用小结
2019/07/01 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
欧洲最大的笔和书写专家:The Pen Shop
2017/03/19 全球购物
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
SQL语言面试题
2013/08/27 面试题
初二物理教学反思
2014/01/29 职场文书
简历里的自我评价范文
2014/02/24 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
领导班子四风表现材料
2014/08/23 职场文书
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技