SuperAPI AI 工具集

deterministic-test-harness

测试与质量

查看项目

更新于 10-16 08:02

技能介绍

用途:为时间、随机性、并发、外部 API、队列、数据库或最终一致性场景构建可重复的确定性测试,适用于测试不稳定、涉及金融结算窗口等场景。

主要能力:识别非确定性来源,包括时间、时区、日历、日期截止、结算窗口;随机 ID、UUID、引用、采样、洗牌;外部提供方如支付、行情数据、银行文件、邮件、短信、KYC;后台任务、队列、定时任务、重试、轮询;缺少显式 ORDER BY 的数据库排序;并行写入、锁、乐观并发、易竞态状态。

使用方式:优先沿用现有模式,否则在最小边界注入确定性依赖,如冻结时钟、确定性 ID 工厂、提供方假实现(成功/拒绝/超时/重复)、内存队列或同步运行器、夹具重置、稳定排序。冻结时间、固定 ID 种子、用假实现驱动提供方,并断言可观察行为。用仓库自带运行器反复运行以证明稳定性,例如:npm test -- <target>、pytest <target> -q、go test ./... -count=20。

限制:不要通过添加 sleep 修复时序问题,不要从测试中访问真实支付或行情数据提供方;不要对无序集合未排序就断言,不要在期望值中使用挂钟日期,不要过度 mock 内部协作者。