use-on-demand
Version:
102 lines (94 loc) • 3.27 kB
JavaScript
const __customCfg = {
testFileDir : 'tests/unit',
coverageDirs: [
'sources',
'packages',
],
};
console.log('jest', '当前工作目录', process.cwd());
/**
* 设置【测试范围】
*/
const targetCfg = {
/**
* 设置,测试的目录范围
* 1.此处,必须加【双**号】在前面???
* 1.为什么不能直接以【test/】起头?
*
* 2.【?(a|b)】,0次或1次
* 3.【*(a|b)】,0次或更多次
* 4.【+(a|b)】,1次或更多次
* 5.【@(a|b)】,1次
*/
'testMatch' : [
`**/${__customCfg.testFileDir}/?(*.)+(spec|test).[jt]s?(x)`,
],
/**
* ????????????????????????????????????????
*
* 场景:测试时,报有些【package.json】解析错误。
*
* 解决:
* 1.最开始,以为是【解析目录】出现了问题。
* 2.后来发现,只是另外两个【package.json】文件为空,没有按照【标准规范】来。
*/
/*
rootDir : process.cwd(), //
*/
//
'moduleFileExtensions': [
'js',
'ts', // 新加
// 'tsx',
'json',
// tell Jest to handle `*.vue` files
'vue',
],
};
/**
* 设置【编译过程】中的选项。
*/
const compileCfg = {
preset: '@vue/cli-plugin-unit-jest/presets/typescript-and-babel', // 是否对应着 TypeScript ?
'transform' : {
// process `*.vue` files with `vue-jest`
'.*\\.(vue)$': 'vue-jest',
// 使用babel
'.*\\.(js)$' : 'babel-jest',
},
// support the same @ -> src alias mapping in source code
'moduleNameMapper': {
'^@/(.*)$': '<rootDir>/src/$1',
},
};
/**
* 测试覆盖率
*/
const coverageCfg = {
// 测试覆盖率
'collectCoverage' : true,
'collectCoverageFrom': [
// TIP——————————————————————————————包含路径——————————————————————————————————
// 此处,竟然不能用【斜杠 /】???又是什么【glob】的怪癖么???
// 'src/**/*.{js,vue}',
...__customCfg.coverageDirs.map(d => {
return `${d}/**/*.{ts,js,vue}`;
}),
// TIP——————————————————————————————排除路径——————————————————————————————————
'!**/node_modules/**',
// WARN 此处,可以指定相对路径?(这就很棒)
'!sources/tradingview/charting_library/**', // 忽略【TradingView】的打包后文件。
// WARN 此处,可以指定相对路径?(这就很棒)
'!sources/swap/CalcReturnTest/data/bitmex.ts', // 排除过大的测试数据。
'!sources/swap/CalcReturnTest/data/bgex.ts', // 排除过大的测试数据。
],
'coverageDirectory' : 'tests/coverage', // 输出【覆盖率分析结果】文件的路径。
};
module.exports = {
// 测试范围
...targetCfg,
// 编译过程,中的选项
...compileCfg,
// 测试覆盖率
...coverageCfg,
};