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 Autocomplete自动完成插件
Jul 17 Javascript
Firebug入门指南(Firefox浏览器)
Aug 21 Javascript
js图片预加载示例
Apr 30 Javascript
jQuery中:focus选择器用法实例
Dec 30 Javascript
js实现瀑布流的三种方式比较
Jun 28 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
Dec 28 Javascript
JavaScript实现定时页面跳转功能示例
Feb 14 Javascript
js实现自动图片轮播代码
Mar 22 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
微信小程序 转发功能的实现
Aug 04 Javascript
在axios中使用params传参的时候传入数组的方法
Sep 25 Javascript
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 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聊天室技术
2006/10/09 PHP
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
Jquery中删除元素的实现代码
2011/12/29 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
JS实现li标签的删除
2019/04/12 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
python中int与str互转方法
2018/07/02 Python
python3.6的venv模块使用详解
2018/08/01 Python
python2与python3共存问题的解决方法
2018/09/18 Python
Keras loss函数剖析
2020/07/06 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
python绘图模块之利用turtle画图
2021/02/12 Python
大专毕业生自我评价分享
2013/11/10 职场文书
医学检验专业大学生求职信
2013/11/18 职场文书
高一地理教学反思
2014/01/18 职场文书
行政专员的岗位职责
2014/03/10 职场文书
教学评估实施方案
2014/03/16 职场文书
毕业留言寄语大全
2014/04/10 职场文书
奖励通知
2015/04/22 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书