SuperAPI AI 工具集

test-isolation-fix

测试与质量

查看项目

更新于 10-15 22:19

技能介绍

用途:诊断并修复测试隔离问题,适用于测试不稳定、在 CI 中失败、单独运行通过但整体运行失败的情况。

主要能力:提供一套诊断流程,先用反向顺序、随机顺序、单测隔离、单线程与并行对比等方式定位隔离类别;随后按七类隔离失败模式给出修复方法,包括共享模块级状态、beforeEach 共享可变对象引用、单例/模块缓存未重置、定时器与日期泄漏、Mock 状态累积、文件系统与环境变量污染、数据库自增 ID 冲突。

使用方式:先运行诊断命令,例如 npx jest --testSequencer ./reverse-sequencer.js、npx vitest --sequence.shuffle、npx jest --testPathPattern="failing.test.ts" --runInBand、npx jest --runInBand。根据失败模式判断类别:仅并行失败多为共享模块状态或文件系统冲突;仅反向失败多为写入状态被后续测试消费;仅隔离失败多为 setup/teardown 问题。修复时把可变 let 移入测试或 beforeEach,用工厂函数替代引用赋值,为每个资源添加 afterEach 清理,在配置中设置 clearMocks/resetMocks/restoreMocks,审计 process.env 修改,检查单例导入,并确保并行安全。

限制:资料未提供该技能的安装方式、平台支持、收费信息或具体适用框架版本;示例以 Jest 和 Vitest 为主,其他测试框架需自行适配。不要通过强制固定顺序来掩盖顺序依赖,也不要用 afterAll 替代 afterEach 清理。