使用mocha對webpack打包的項目進行"冒煙測試"的大體流程

第一步: 打包開始以前刪除'./dist'目錄
rimraf('./dist', () => {css

constprodConfig = require('../../lib/webpack.prod')
webpack(prodConfig, (err, stats) \=> {
if (err) { 
    console.log(err) 
    process.exit(2)

    }html

console.log(stats.toString({
    color:true,
    modules:false,
    children:false

    }))node

// 第三步: 將測試規則添加到打包後
mocha.addFile(resolve(\_\_dirname, './html-test.js'))
mocha.addFile(resolve(\_\_dirname, './css-js-test.js'))
mocha.run()
})

})webpack

第二步: 新建測試規則git

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()方法的特別說明:github

  • pattern {String}:匹配模式。
  • options {Object}
  • return: {Array<String>}:匹配模式下的文件名。

這裏重點說說這個pattern, 這個pattern是字符串, 不是正則, 它有本身的匹配規則, 例如:
'./dist/+(index|search).html'
換成正則的寫法爲:
/\.\/dist\/(index|search)\.html/
不能苟同, 必定要區分
具體請移步這裏: https://github.com/isaacs/nod...web

相關文章
相關標籤/搜索