详解使用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 时间函数应用加、减、比较、格式转换的示例代码
Aug 23 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
Dec 02 Javascript
javascript实现按回车键切换焦点
Feb 09 Javascript
javascript中for/in循环及使用技巧
Sep 01 Javascript
BootStrap创建响应式导航条实例代码
May 31 Javascript
微信小程序 action-sheet底部菜单详解
Oct 27 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
Nov 03 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
Apr 25 Javascript
使用webpack3.0配置webpack-dev-server教程
May 29 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
Sep 30 Javascript
微信小程序中data-key属性之数据传输(经验总结)
Aug 22 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
在PWS上安装PHP4.0正式版
2006/10/09 PHP
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
追求程序速度,而不是编程的速度
2008/04/23 PHP
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
python避免死锁方法实例分析
2015/06/04 Python
python中format()函数的简单使用教程
2018/03/14 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
Python安装Bs4的多种方法
2020/11/28 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
您的网上新华书店:文轩网
2016/08/24 全球购物
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
毕业生党员个人总结
2015/02/14 职场文书
单位提档介绍信
2015/10/22 职场文书
2019个人半年工作总结
2019/06/21 职场文书
《别在吃苦的年纪选择安逸》读后感3篇
2019/11/30 职场文书