SuperAPI AI 工具集

rust-testing

编程与开发

查看项目

更新于 10-16 03:46

技能介绍

用途:为 Rust 模块编写高质量测试提供规范,适用于 codex-rs 的贡献者与新测试、回归测试、集成测试和 TUI 快照覆盖。

主要能力:按优先级组织规则。CRITICAL 测试架构(arch-,6 条,文件组织、导入、隔离)与断言(assert-,5 条,pretty_assertions、整对象比较);HIGH Mock 服务器(mock-,6 条,wiremock、SSE builder、ResponseMock)与测试数据(data-,5 条,构建器、类型化构造、BTreeMap);MEDIUM-HIGH 事件测试(event-,5 条,submit/wait 循环、谓词匹配);MEDIUM 确定性(det-,5 条,稳定 ID、环境隔离)与快照测试(snap-,4 条,Insta 工作流、缓冲区渲染);LOW-MEDIUM 集成测试(integ-,4 条,core_test_support、Bazel 兼容)。

使用方式:测试文件为同级 tests.rs,通过 #[path = "feature_tests.rs"] 引入;断言始终用 pretty_assertions::assert_eq;;整体结构体用 assert_eq!(actual, expected);SSE Mock 用 responses::mount_sse_once + responses::sse(vec![ev*(...)]);;事件等待用 wait_for_event(codex, |ev| predicate);快照用 insta::assert_snapshot!(terminal.backend());确定性用 BTreeMap 替代 HashMap、set_deterministic_process_ids;二进制解析用 codex_utils_cargo_bin::cargo_bin("name");fixture 路径用 codex_utils_cargo_bin::find_resource!("path");沙箱处理用 skip_if_sandbox!() / skip_if_no_network!()。

限制与场景:按优先级从 CRITICAL 规则开始,写集成 Mock 时应用 HIGH 规则,测代理协议用 event 规则,涉及进程 ID 或 UI 渲染用 det、snap 规则,跨 crate 与构建系统兼容用 integ 规则。具体平台、收费或价格信息暂未提供。