SuperAPI AI 工具集

rstest-debugging

测试与质量

查看项目

更新于 10-16 00:21

技能介绍

用途:诊断 Rstest 在启动、构建、运行时、日志、内存或性能方面的问题。核心思路是先测量生命周期阶段,再改配置;保持行为与测试清单不变,一次只改一个变量,删除无法复现收益的实验。

主要能力与用法:用 references/performance-measurement.md 建立可比的单文件与全量基线;在支持时运行 rstest --trace,把成本归类为主机构建/启动、运行时加载/设置/收集、测试体/钩子或 CLI/报告/清理开销;用 DEBUG=rstest 查看解析后的配置与构建输出;Rstest 0.11.7+ 的实验性逐测试 bundle 覆盖率参见该参考文件。仅在证据指向编译器时使用 Rsdoctor;仅在缩小到运行时文件/用例后使用详细报告或 profiler。若涉及依赖加载或编译,读 references/dependency-bundling.md,比较环境默认、bundleDependencies: false 与 true,二者并非普遍更快。若完全 mock 的重模块仍进入构建图,先读 references/mocked-module-build-graph.md。若资源、控制台输出、池、隔离或内存占主导,读 references/runtime-output-memory.md。重跑代表性文件与全量范围,仅当行为、发现、快照与覆盖率仍有效且收益可重复时才保留改动,交付前清理 trace、profile 与 .rstest 调试产物。

限制与护栏:最终结论须用项目已安装的 Rstest,本地检出或未发布诊断结果需单独标注;比较时固定 Node 版本、测试文件、覆盖率、缓存状态、环境、worker 与命令形态;不要叠加重叠的 worker 时长,也不要在未验证生命周期边界时相减;进程树 RSS 不等于物理内存;不得为基准收益禁用隔离、降低覆盖率、静默失败或改变生产/测试语义;不要堆叠推测性 alias、external、编译器钩子、池设置或缓存,只保留测量出的最小改动。从 migrate-to-rstest 调用时,先确认 Jest/Vitest 与 Rstest 清单一致;若迁移有意新增测试,需分别报告同范围与最终扩展范围的性能。