该技能用于为项目组件编写测试,核心原则包括:使用 Jest 的 describe/it 组织测试;异步操作使用 Effect-TS 而非 async/await,并通过 Effect.runPromise 执行 Effect;同时覆盖有效与无效输入场景。
主要能力与用法:测试文件遵循 {ComponentName}.test.ts 命名。优先使用真实实现(如 ApexSymbolManager、CompilerService),仅在网络、文件系统等不可控外部依赖或难以触发的错误条件时才使用 mock。调试时可在生产代码中加入 Effect.logDebug 等 Effect 日志,在测试中用 console.log,并通过 enableConsoleLogging() 与 setLogLevel('debug') 开启日志,测试完成后改为 setLogLevel('error')。资源需在 afterEach 中清理。
验证器测试可使用 validation-test-helpers.ts 中的 compileFixtureWithOptions 编译 fixture 并生成选项,用 runValidator 运行验证器 Effect,其返回 ValidationResult。TIER 2 跨文件验证需先编译依赖文件,再调用 resolveCrossFileReferencesForFile,并将 tier 设为 ValidationTier.THOROUGH、allowArtifactLoading 为 true。还可通过 ErrorCodes 检查特定错误码。
限制:具体价格、平台支持等信息暂未提供。