AC Test Generator 是一个用于生成测试文件与测试用例的工具,遵循 TDD(测试驱动开发)原则,主要实现 TDD 的 RED 阶段:在功能实现之前生成会失败的测试,以保证功能具备较完整的测试覆盖。
用途
该工具面向 TDD 流程中的测试生成环节。当你需要创建测试文件、生成测试用例、落实 TDD 的 RED 阶段,或搭建测试脚手架时,可以使用它。它通过先生成失败测试,确保后续实现有明确的验收标准。
主要能力
它能够为指定功能生成测试文件与测试用例。工具以 Python 脚本形式提供,使用方式为从 scripts.test_generator 导入 TestGenerator,用项目目录实例化,然后异步调用 generate_for_feature(feature) 生成测试,再调用 write_test_file(tests) 写出测试文件。
生成的测试结构
生成的测试遵循 Arrange-Act-Assert 模式。示例中为功能 auth-001(用户可注册)生成 tests/test_auth_001.py,使用 pytest 与 app.auth 的 register_user,定义 TestUserRegistration 测试类,包含 test_valid_registration_creates_user(有效注册创建用户)等用例。示例中的其他用例(重复邮箱返回错误、弱密码被拒绝)以占位形式给出。
测试类型
工具区分三类测试:
单元测试:测试单个函数,mock 依赖,执行快,覆盖率高。 集成测试:测试组件间交互,使用真实依赖,涉及数据库事务与 API 端点。 E2E 测试:覆盖完整用户工作流、浏览器自动化、真实环境与验收标准。
配置
配置以 JSON 形式提供,字段包括 test_framework(示例为 pytest)、coverage_target(示例为 80)、test_patterns(分别指定 unit、integration、e2e 的路径,如 tests/unit/、tests/integration/、tests/e2e/)以及 fixtures(如 tests/fixtures/)。
工作流
工具的工作流依次为:Analyze(阅读功能与测试用例)、Scaffold(创建测试文件结构)、Generate(编写测试函数)、Validate(确保测试失败,即 RED)、Report(输出测试位置)。
TDD 集成
在 TDD 循环中,RED 阶段由 ac-test-generator 生成失败测试;GREEN 阶段由 Claude 编写最小实现使测试通过;REFACTOR 阶段在测试保持通过的前提下清理代码。
API 参考与限制
完整实现参见 scripts/test_generator.py。该工具的具体依赖版本、安装命令、支持的测试框架范围、价格与授权方式等,资料中暂未提供。