详解使用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 相关文章推荐
Jquery 过滤器(first,last,not,even,odd)的使用
Jan 22 Javascript
页面加载完后自动执行一个方法的js代码
Sep 06 Javascript
JavaScript 变量、作用域及内存
Apr 08 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
Apr 24 Javascript
JavaScript中的cacheStorage使用详解
Jul 29 Javascript
json格式数据的添加,删除及排序方法
Jan 21 Javascript
深入浅析JavaScript中的Function类型
Jul 09 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
layer实现关闭弹出层刷新父界面功能详解
Nov 15 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
May 07 Javascript
react antd表格中渲染一张或多张图片的实例
Oct 28 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/02 国漫
php下删除字符串中HTML标签的函数
2008/08/27 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
thinkphp验证码的实现(form、ajax实现验证)
2016/07/28 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
解决layUI的页面显示不全的问题
2019/09/20 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
运行django项目指定IP和端口的方法
2018/05/14 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Python字符串三种格式化输出
2020/09/17 Python
Python内置函数及功能简介汇总
2020/10/13 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
铲车司机岗位职责
2014/03/15 职场文书
新教师岗前培训方案
2014/06/05 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
甲午风云观后感
2015/06/02 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
Mysql Show Profile
2021/04/05 MySQL
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android