详解使用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 相关文章推荐
angularjs中的单元测试实例
Dec 06 Javascript
JS自定义对象实现Java中Map对象功能的方法
Jan 20 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
Aug 24 Javascript
JavaScript实现图片滑动切换的代码示例分享
Mar 06 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 Javascript
JavaScript实现两个select下拉框选项左移右移
Mar 09 Javascript
说说AngularJS中的$parse和$eval的用法
Sep 14 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
Oct 19 Javascript
vue实现双向绑定和依赖收集遇到的坑
Nov 29 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
Nov 01 Javascript
js中apply和call的理解与使用方法
Nov 27 Javascript
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
详解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
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
Python中每次处理一个字符的5种方法
2015/05/21 Python
Python打印斐波拉契数列实例
2015/07/07 Python
Python探索之ModelForm代码详解
2017/10/26 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
Python实现直播推流效果
2019/11/26 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
精伦电子Java笔试题
2013/01/16 面试题
应届生体育教师自荐信
2013/10/03 职场文书
大学生简历中个人的自我评价
2013/10/06 职场文书
挂职自我鉴定
2014/02/26 职场文书
悬空寺导游词
2015/02/05 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
SQL CASE 表达式的具体使用
2022/03/21 SQL Server
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS
MySQL数据库查询之多表查询总结
2022/08/05 MySQL