用途:为 Qt 模块或类生成单元测试、补全测试用例或创建测试文件,支持模块批量生成与增量更新。触发场景包括“为 src/lib/ui 模块创建单元测试”“为 MyClass 生成测试”“为 MyClass 补全测试”。生成测试框架应使用 qt-unittest-build,修复测试失败应使用 systematic-debugging,覆盖率分析需用其他工具。
主要能力:使用 LSP 精确分析类结构(lsp_document_symbols 提取结构、lsp_goto_definition 读取实现、lsp_find_references 查找依赖),生成 100% 函数覆盖率的测试用例,智能合并 CMake,支持增量更新,并强制验证构建成功。
使用方式:先确认 autotests/CMakeLists.txt 与 autotests/3rdparty/stub/ 存在,否则提示先运行 qt-unittest-build。随后分析类结构,必须通过 task 工具调用子 Agent(agent/unittest-generator.md,subagent_type="general")执行生成、CMake 合并与构建验证,再收集结果反馈用户。测试文件命名 test_myclass.cpp,测试类命名 MyClassTest,用例命名 {Feature}{Scenario}{ExpectedResult}。
限制:测试框架固定为 Google Test,不支持 Qt Test;要求每个 public/protected 函数至少一个测试用例;编译失败必须修正,每个错误最多重试 3 次、最大循环 10 次,编译成功才能报告完成;不得跳过子 Agent 调用或硬编码 CMake 模板。