用途:vitest-skilld 面向编写、调试或修改导入 vitest 的代码场景,提供 Vitest 相关文档、issue 与发布记录的检索参考。资料标注其对应 vitest-dev/vitest,版本 4.1.0。
主要能力:汇总 Vitest 4.0 的破坏性变更与新增特性。破坏性变更包括:test()/describe() 第三参数选项须改为第二参数;池配置重构,maxThreads/maxForks 改为 maxWorkers,singleThread/singleFork 改为 maxWorkers: 1、isolate: false,poolOptions 移除,vmMemoryLimit 取代嵌套配置;@vitest/browser/context 与 @vitest/browser/utils 改从 vitest/browser 导入;浏览器 provider 改为工厂函数;workspace 配置更名为 projects;模块环境改用 viteEnvironment;vi.fn().getMockName() 默认返回 'vi.fn()';vi.restoreAllMocks 不再重置 automock;coverage.all 与 coverage.extensions 移除,改用 coverage.include;verbose reporter 改为平铺列表;移除 poolMatchGlobs、environmentMatchGlobs、deps.external 等旧配置。新增特性包括:vi.spyOn()/vi.fn() 支持构造函数、toMatchScreenshot() 视觉回归、toBeInViewport()、onUnhandledError、expect.assert()、Module Runner 取代 vite-node、enableCoverage()/disableCoverage()、getGlobalTestNamePattern()、getSeed() 等。
使用方式:资料建议用 skilld search 替代直接 grep .skilld/ 目录,支持语义与关键词混合检索;若 skilld 不可用,可用 npx -y skilld search。示例命令:skilld search "query" -p vitest;skilld search "issues:error handling" -p vitest;skilld search "releases:deprecated" -p vitest。可用 docs:、issues:、releases: 前缀按来源类型过滤。
最佳实践:对无副作用或能正确清理状态的项目可用 isolate: false 关闭隔离以缩短运行时间;并发快照测试用 context.expect 替代全局 expect;在配置中定义测试标签以共享超时、重试等选项;beforeEach 返回清理函数替代 afterEach;vi.mock 配合动态 import() 提升 TypeScript 支持;用 vi.hoisted 声明 vi.mock 工厂引用的变量;大型项目选用 threads 池;在 mock 工厂内 await importOriginal();对偶发失败用正则或函数匹配限定重试条件。
限制:资料未提供该技能的安装方式、收费、平台支持或效果数据,暂未提供。分类依据其测试框架辅助用途归入 testing。