详解使用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 相关文章推荐
js实现iframe动态调整高度的代码
Jan 06 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
Oct 24 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
Jan 24 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
基于javascript实现图片左右切换效果
Jan 25 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
javascript实现数字配对游戏的实例讲解
Dec 14 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
在vue中使用echarts图表实例代码详解
Oct 22 Javascript
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
JavaScript面试中常考的字符串操作方法大全(包含ES6)
May 10 Javascript
JavaScript 接口原理与用法实例详解
May 12 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 保留小数点
2009/04/21 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
PHP云打印类完整示例
2016/10/15 PHP
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
微信小程序之选项卡的实现方法
2017/09/29 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
详解Django中的form库的使用
2015/07/18 Python
python根据时间获取周数代码实例
2019/09/30 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
Python模块的制作方法实例分析
2019/12/21 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
优秀企业获奖感言
2014/02/01 职场文书
股东协议书范本
2014/04/14 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL