用途:解决在 Windows(尤其是 Git Bash/MINGW)下运行 Vitest、Playwright、MSW 测试时出现的路径转换、shell 检测与跨平台执行问题。
主要能力:提供 shell 检测方法(如通过 process.env.MSYSTEM、uname -s 判断 MINGW/CYGWIN/Linux/macOS);说明 Git Bash 自动路径转换带来的问题及处理方式,包括 MSYS_NO_PATHCONV=1、MSYS2_ARG_CONV_EXCL 与 cygpath 转换;给出 Vitest、Playwright 配置中使用相对路径与 glob 模式的建议;覆盖 Playwright 浏览器安装、headed 模式、截图视频路径,以及 MSW 的 handler 相对导入与 Node 18+ 要求;列出常见报错(找不到文件、模块导入失败、浏览器启动失败、覆盖率路径问题)及修复思路;并给出 CI 多平台矩阵测试策略。
使用方式:优先通过 npm scripts 执行测试(如 npm test、npm run test:e2e);必要时使用 MSYS_NO_PATHCONV=1 vitest run;配置与导入尽量使用相对路径,程序化拼接用 path.join();避免以 /c/ 或 C:\ 开头的绝对路径。
适用场景:在 Windows 上使用 Git Bash 开发并需要与 Linux/macOS 保持一致的测试行为。
限制:资料未提供具体版本兼容范围、性能数据或收费信息;部分命令与配置需结合项目实际调整。