/** * 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, };