用途:该技能用于在 Effect 项目中编写测试,核心是 @effect/vitest 这一 Effect 原生测试运行器集成,自动处理 Effect 执行、作用域资源、Layer 组合与 TestClock 注入。
主要能力:提供 it.effect、it.scoped、it.live、it.layer、it.prop 等测试函数;支持用 Context.Tag 定义服务并通过 Layer 提供测试实现;支持用 Schema.Arbitrary 从任意 Schema 生成测试数据,配合 it.prop 或 fast-check 做属性测试;TestClock 由 it.effect 自动提供,可控制时间。
使用方式:安装 pnpm add -D vitest @effect/vitest(vitest 需 v1.6.0+),在测试设置中调用 addEqualityTesters() 启用 Effect 感知的相等比较。所有外部或带副作用的依赖(API、数据库、文件系统、第三方 SDK、时钟、随机数)都应包装为 Effect Service,测试时用 Layer 提供测试替身;有状态服务可用 Layer.effect 配合 Ref 维护状态;多个测试层用 Layer.merge 组合。测试数据优先用 Arbitrary 生成,避免硬编码。
适用场景:需要 100% 覆盖、快速且确定性的 Effect 业务逻辑测试,尤其是涉及外部 I/O 的领域逻辑验证。
限制:资料未提供该技能的具体安装命令、版本兼容范围、收费或平台信息;示例中的 stripe、db 等为示意,实际实现需自行提供。