41 lines
1001 B
JavaScript
41 lines
1001 B
JavaScript
const path = require('path');
|
|
const Mocha = require('mocha');
|
|
const glob = require('glob');
|
|
|
|
function run() {
|
|
// Create the mocha test
|
|
const mocha = new Mocha({
|
|
ui: 'tdd',
|
|
color: true
|
|
});
|
|
|
|
const testsRoot = path.resolve(__dirname, '..');
|
|
|
|
return new Promise((c, e) => {
|
|
glob('**/**.test.js', { cwd: testsRoot }, (err, files) => {
|
|
if (err) {
|
|
return e(err);
|
|
}
|
|
|
|
files.forEach(f => mocha.addFile(path.resolve(testsRoot, f)));
|
|
|
|
try {
|
|
|
|
// 设置每个测试的超时
|
|
mocha.timeout(60000);
|
|
mocha.run(failures => {
|
|
if (failures > 0) {
|
|
e(new Error(`${failures} tests failed.`));
|
|
} else {
|
|
c();
|
|
}
|
|
});
|
|
} catch (err) {
|
|
console.error(err);
|
|
e(err);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
run(); |