50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
/**
|
||
* jest.config.js — 前端测试配置
|
||
* ============================================================================
|
||
* 运行方式:cd YLErpWeb/fe-tests && npx jest
|
||
*
|
||
* 设计要点:
|
||
* - testEnvironment: jsdom — 模拟浏览器环境(jQuery / Vue 组件测试需要)
|
||
* - testMatch: 只跑 *.test.js,不跑 _shim_run.js / guard_arch.js
|
||
* - collectCoverage: 默认不开(影响速度),用 --coverage 手动开启
|
||
* - coverageThreshold: 新代码覆盖率门槛,逐步提高
|
||
* - moduleDirectories: 让测试文件能 require('jquery') 等npm包
|
||
* ============================================================================
|
||
*/
|
||
module.exports = {
|
||
// 保持 node 环境:部分测试文件自行 require('jsdom') 搭建 DOM,
|
||
// 若改为 jsdom 环境会与之冲突(TextEncoder 未定义等问题)。
|
||
testEnvironment: 'node',
|
||
|
||
// 只匹配 *.test.js
|
||
testMatch: ['**/*.test.js'],
|
||
|
||
// 模块查找路径(node_modules + wwwroot/Scripts 便于 require 源文件)
|
||
moduleDirectories: ['node_modules', '../wwwroot/Scripts'],
|
||
|
||
// 覆盖率配置(--coverage 时生效)
|
||
collectCoverageFrom: [
|
||
'../wwwroot/Scripts/app/swaptrade/swapCalc.js',
|
||
'../wwwroot/Scripts/fast/fastVue.base.js',
|
||
// 逐步加入更多文件
|
||
],
|
||
|
||
coverageDirectory: 'coverage',
|
||
|
||
// 覆盖率门槛(初始宽松,逐步收紧)
|
||
coverageThreshold: {
|
||
global: {
|
||
branches: 40,
|
||
functions: 50,
|
||
lines: 50,
|
||
statements: 50,
|
||
},
|
||
},
|
||
|
||
// 不转换 node_modules(本项目 JS 是原生 ES5,不需要 babel)
|
||
transform: {},
|
||
|
||
// verbose 输出
|
||
verbose: false,
|
||
};
|