sdg-rpc
Version:
pomelo ts rpc
40 lines (33 loc) • 951 B
text/typescript
import Mocha from 'mocha';
import fs from 'fs';
import path from 'path';
// require('ts-mocha');
process.env.TS_NODE_PROJECT = './tsconfig.json';
// @ts-ignore
const mocha = new Mocha();
// 忽略目录、文件,执行特定的脚本
const ignoreDir: string[] = [];
const ignoreFile: string[] = [];
// 加载目录下所有的测试脚本
const readDir = (dir: string, cb: Function) => {
fs.readdirSync(dir).map(file => {
const fullName = path.resolve(dir, file);
const stat = fs.statSync(fullName);
if (stat.isDirectory() && !ignoreDir.includes(file)) {
readDir(fullName, cb);
} else if (!ignoreFile.includes(file)) {
cb(fullName);
}
});
};
readDir(path.resolve(__dirname), file => {
// 默认规范,只有test.ts后缀的才是测试脚本
if (file.endsWith('.test.ts')) {
mocha.addFile(file);
}
});
mocha.run((failures) => {
process.on('exit', () => {
process.exit(failures);
});
});