SuperAPI AI 工具集

unit-test-writer

测试与质量

查看项目

更新于 10-16 00:21

技能介绍

用途:为代码编写全面、可维护的单元测试,覆盖多种编程语言,强调高覆盖率与最佳实践;适用于为新代码补测试、提升既有覆盖率、获取测试结构与组织建议、按 TDD 流程写测试,以及正确使用 mock 与 fixture。

主要能力:给出 Arrange-Act-Assert 测试结构;Python(pytest)采用 test_<function><condition><expected_result> 命名、文件为 test_<source_file_name>.py,JavaScript/TypeScript(Jest)采用 should <expected behavior> when <condition> 命名、文件为 <source_file_name>.test.ts 或 .js;覆盖率目标为整体 ≥ 80%、关键业务逻辑 ≥ 90%、错误处理路径 100%、工具函数 ≥ 85%;覆盖快乐路径、边界、错误、状态变化、副作用、返回值与数据校验等场景。

使用方式:按工作流执行——分析待测代码(如 cat src/module/feature.py,识别公开函数、外部依赖、边界与错误条件)、创建测试文件结构、编写测试用例、实现模拟、编写 fixture、测试异步代码、运行测试并检查覆盖率。运行命令保持原样:pytest tests/ -v;pytest tests/ --cov=src --cov-report=html --cov-report=term-missing;npm test;jest --coverage。模拟与 fixture 使用 unittest.mock 的 Mock、MagicMock、patch,side_effect 可返回值序列或异常;conftest.py 放共享 fixture,支持 setup/teardown 与参数化 fixture。异步测试:Python 使用 @pytest.mark.asyncio 与 AsyncMock,JavaScript 使用 async/await 与 rejects.toThrow。

适用场景与限制:面向通用单元测试指导,适用于新建测试、补覆盖率与 TDD;最佳实践包括测试相互独立、命名清晰、通常一个断言、测试行为而非实现、使用描述性断言消息,并覆盖异常、参数化、文件操作与时间依赖代码的测试模式。资料未提供具体收费、价格、平台或效果信息;除 pytest 与 Jest 示例外,其他语言的细节暂未提供。