mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-04-06 03:59:53 +08:00
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
const fs = require('fs-extra');
|
||
const execa = require('execa');
|
||
const path = require('path');
|
||
const log = require('../helpers/log');
|
||
|
||
module.exports = function (config, rawArgv) {
|
||
const testDir = path.join(config.folders.PROJECT_DIR, 'test');
|
||
if (fs.pathExistsSync(testDir)) {
|
||
const bin = require.resolve('mochapack/bin/mochapack');
|
||
const argv = [
|
||
// ...nodeArgs,
|
||
bin,
|
||
'--recursive',
|
||
'--require',
|
||
require.resolve('../helpers/setup.js'),
|
||
'--webpack-config',
|
||
require.resolve('../configs/webpack.test.config.js'),
|
||
...rawArgv,
|
||
`${testDir}/**/*.spec.js`
|
||
];
|
||
const child = execa('node', argv, {
|
||
cwd: config.folders.CLI_DIR,
|
||
encoding: 'utf8',
|
||
stdio: 'inherit'
|
||
});
|
||
child.on('error', (e) => {
|
||
log.error('执行test失败:');
|
||
log.error(JSON.stringify(e));
|
||
});
|
||
child.on('exit', (code) => {
|
||
if (code !== 0) {
|
||
log.message(`mochapack进程退出,code ${code}.`);
|
||
}
|
||
});
|
||
} else {
|
||
log.warn('测试目录不存在,请在项目根目录创建目录test');
|
||
}
|
||
};
|