详解使用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 相关文章推荐
javascript 打印内容方法小结
Nov 04 Javascript
轻轻松松学JS调试(不下载任何工具)
Apr 14 Javascript
div层的移动及性能优化
Nov 16 Javascript
jQuery事件绑定.on()简要概述及应用
Feb 07 Javascript
node.js中使用socket.io的方法
Dec 15 Javascript
javascript实现tab切换的四种方法
Nov 05 Javascript
简单实现轮播图效果的实例
Jul 15 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
Javascript前端经典的面试题及答案
Mar 14 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
Apr 23 Javascript
BootStrap导航栏问题记录
Jul 31 Javascript
vue 实现特定条件下绑定事件
Nov 09 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
zf框架db类的分页示例分享
2014/03/14 PHP
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
php画图实例
2014/11/05 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
AngularJS入门教程之表格实例详解
2016/07/27 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
webpack4简单入门实例
2018/09/06 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
Python线程指南详细介绍
2017/01/05 Python
Apache如何部署django项目
2017/05/21 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
Python 实现的 Google 批量翻译功能
2019/08/26 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
加拿大探亲邀请信
2014/01/28 职场文书
共产党员承诺书
2014/03/25 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
小学生通知书评语
2014/12/31 职场文书
关于python类SortedList详解
2021/09/04 Python
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers