详解使用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中强制执行toString()具体实现
Apr 27 Javascript
Jquery实现控件的隐藏和显示实例
Feb 08 Javascript
javascript十六进制及二进制转化的方法
May 06 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
Dec 08 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
Vue.js 2.0学习教程之从基础到组件详解
Apr 24 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
May 19 Javascript
js闭包学习心得总结
Apr 17 Javascript
微信小程序实现美团菜单
Jun 06 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
Mar 07 Javascript
node爬取新型冠状病毒的疫情实时动态
Feb 06 Javascript
详解JavaScript 异步编程
Jul 13 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读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
js常用代码段收集
2011/10/28 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
理解nodejs的stream和pipe机制的原理和实现
2017/08/12 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
python 内置函数汇总详解
2019/09/16 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
大学生毕业求职的自我评价
2013/09/29 职场文书
打架检讨书500字
2014/01/29 职场文书
运动会加油口号
2014/06/07 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python
muduo TcpServer模块源码分析
2022/04/26 Redis
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python