1
0

refactor: 清理测试代码 eslint-disable 指令,消除文件级和重复局部禁用

This commit is contained in:
2026-05-21 00:35:08 +08:00
parent ccd16a583e
commit b432581444
6 changed files with 185 additions and 175 deletions

View File

@@ -1157,6 +1157,15 @@ bun run check # 一键运行 schema:check + typecheck + lint + test
| `eslint-plugin-import` | 导入路径验证、循环依赖检测、重复导入合并 |
| `eslint-plugin-prettier` recommended + `eslint-config-prettier` | 将 Prettier 格式集成为 ESLint 规则,禁用冲突规则 |
### 测试代码 ESLint 规范
测试代码与业务代码使用相同的 ESLint 规则集,应优先通过类型化 helper、类型化 mock、显式 no-op 和受控断言模式满足已启用的类型感知规则,最小化 `eslint-disable` 的使用。具体约定:
- 使用类型化 mock 变量(`vi.fn()`)替代动态 `require` 获取 mocked module
- 异步错误断言使用 helper 或显式 try/catch避免依赖 Bun `expect(...).rejects``await-thenable` 规则的类型不匹配
- polyfill 中的 intentional no-op 使用显式可解释写法(如 `() => undefined` 或共享 `noop` 函数)
-`process.exit` 等系统 API 使用 `spyOn`(从 `bun:test` 导入)受控 mock 而非手动 monkey patch
### Prettier 配置
配置文件:`.prettierrc.json`,通过 `eslint-plugin-prettier` 集成为 ESLint 规则(`lint` 命令同时检查格式),也可通过 `format` 命令独立运行。