SuperAPI AI 工具集

quality-unit-testing

测试与质量

查看项目

更新于 10-15 20:30

技能介绍

用途:在编写新测试、审查测试代码或提升测试质量时,按最佳实践编写高质量 Rust 单元测试。核心理念是质量优先于覆盖率,测试应捕获真实缺陷并带来部署信心。

主要能力与规范:命名采用 test_<function><scenario><expected>,例如 test_process_payment_insufficient_funds_returns_error。结构上使用 AAA(Arrange-Act-Assert)模式组织测试。隔离方面,应 mock API、数据库、文件系统和外部服务,但不要 mock 值类型、纯函数和被测代码本身。每个测试只验证一个行为、只有一个失败原因。

Rust 特有模式:异步测试使用 #[tokio::test];基于 Result 的测试可返回 anyhow::Result<()>;可用测试构建器(如 TestEpisodeBuilder)构造测试数据;可用 RAII 配合 Drop 实现自动清理(如 TestDb 包装 TempDir)。

成功标准:无需手工测试即可部署;测试失败能精确定位问题;重构不会破坏无关测试;测试在毫秒级运行。

工作流:创建测试时,先理解代码行为、识别风险,先写失败测试(红-绿-重构),应用 AAA 模式,隔离依赖,并确认运行速度在毫秒级。审查测试时,运行分析脚本,检查命名约定,确保隔离性,确认单一职责。

限制:资料未提供具体安装命令、依赖版本、分析脚本内容及适用平台等细节。