详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程


Posted in Javascript onApril 27, 2020

第一步: 打包开始之前删除'./dist'目录

rimraf('./dist', () => {

constprodConfig = require('../../lib/webpack.prod')
webpack(prodConfig, (err, stats) \=> {
if (err) { 
  console.log(err) 
  process.exit(2)
  }

console.log(stats.toString({
  color:true,
  modules:false,
  children:false
  }))

// 第三步: 将测试规则添加到打包后
mocha.addFile(resolve(\_\_dirname, './html-test.js'))
mocha.addFile(resolve(\_\_dirname, './css-js-test.js'))
mocha.run()
})
})

第二步: 新建测试规则

const glob = require('glob');
describe('Checking generated html files',() \=> {
  it('should generate html files', (done) \=> {
  constfiles = glob.sync('./dist/+(index|search).html')
  if (files.length) {
    done()
  } else {
    thrownewError('no html files generated')
  }
 });
});

Tip: 关于glob.sync()方法的特别说明:

  • pattern {String}:匹配模式。
  • options {Object}
  • return: {Array<String>}:匹配模式下的文件名。

这里重点说说这个pattern, 这个pattern是字符串, 不是正则, 它有自己的匹配规则, 例如:

'./dist/+(index|search).html'

换成正则的写法为:

/\.\/dist\/(index|search)\.html/

不能苟同, 一定要区分

具体请移步这里: https://github.com/isaacs/node-glob

到此这篇关于详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程的文章就介绍到这了,更多相关mocha webpack 冒烟测试内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
jquery实现上下左右滑动的方法
Feb 09 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
Mar 04 Javascript
jQuery处理json数据返回数组和输出的方法
Mar 11 Javascript
javascript实现图片轮播效果
Jan 20 Javascript
js+canvas绘制矩形的方法
Jan 28 Javascript
JS与jQuery实现隔行变色的方法
Sep 09 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
May 02 Javascript
Vue SPA单页应用首屏优化实践
Jun 28 Javascript
Element-UI踩坑之Pagination组件的使用
Oct 29 Javascript
vue Tab切换以及缓存页面处理的几种方式
Nov 05 Javascript
vue新建项目并配置标准路由过程解析
Dec 09 Javascript
Nest.js散列与加密实例详解
Feb 24 Javascript
详解elementUI中input框无法输入的问题
Apr 27 #Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 #Javascript
Node.js API详解之 tty功能与用法实例分析
Apr 27 #Javascript
React.js组件实现拖拽排序组件功能过程解析
Apr 27 #Javascript
element 中 el-menu 组件的无限极循环思路代码详解
Apr 26 #Javascript
微信小程序个人中心的列表控件实现代码
Apr 26 #Javascript
vue项目中自定义video视频控制条的实现代码
Apr 26 #Javascript
You might like
php checkbox 取值详细说明
2010/08/19 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
浅析JavaScript中的delete运算符
2013/11/30 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
Python os模块常用方法和属性总结
2020/02/20 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
python实现经典排序算法的示例代码
2021/02/07 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
孝老爱亲模范事迹
2014/01/24 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
年终总结会议主持词
2014/03/17 职场文书
营销与策划专业求职信
2014/06/20 职场文书
2014年司法所工作总结
2014/11/22 职场文书
社区活动总结范文
2015/05/07 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis