详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程
第一步: 打包开始之前删除'./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 冒烟测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Express无法通过req.body获取请求传递的数据解决方法
这篇文章主要为大家介绍了Express无法通过req.body获取请求传递的数据解决方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-12-12
ECMAScript5中的对象存取器属性:getter和setter介绍
这篇文章主要介绍了ECMAScript5中的对象属性存取器:getter和setter介绍,事实上在除ie外最新主流浏览器的实现中,任何一个对象的键值都可以被getter和setter方法所取代,这被称之为“存取器属性”,需要的朋友可以参考下2014-12-12


最新评论