codegeex插件支持五种生成单元测试方法:一、通过ask codegeex面板输入/tests指令;二、右键菜单选择generate unit test;三、基于javadoc注释驱动生成;四、命令行调用codegeex2模型;五、输入/tests with mock生成含mock的集成测试。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在IntelliJ IDEA中已安装CodeGeeX插件,但尚未掌握其生成单元测试的具体操作路径,则可能是由于未正确触发测试生成指令或未满足上下文条件。以下是多种可立即执行的生成方法:
一、通过智能问答指令触发测试生成
该方式依赖CodeGeeX的Ask CodeGeeX交互界面,利用预设指令解析选中代码结构并输出符合JUnit/TestNG规范的测试类。系统自动提取参数类型、返回值、异常声明及常见边界逻辑。
1、在IDEA中打开目标Java类文件,选中待测方法(如public String formatName(String input))。
2、点击右侧边栏CodeGeeX图标,切换至Ask CodeGeeX面板。
3、在输入框中输入/tests,按回车键执行。
4、等待右侧窗口显示生成的测试代码,确认内容无误后点击“use code”按钮插入到新文件或当前编辑区。
二、通过右键菜单快捷生成
此方式绕过手动输入指令,直接调用插件内置的上下文感知生成器,适用于对IDEA操作流有明确偏好或需快速批量生成的场景。
1、在编辑器中右键单击已选中的目标方法名或方法体。
2、在弹出菜单中依次选择CodeGeeX → Generate Unit Test。
3、插件自动识别所在模块依赖(如SpringBootTest、MockBean等),生成带依赖注入配置的测试类骨架。
4、生成结果默认以临时标签页打开,可直接保存为xxxTest.java文件。
三、基于函数注释驱动的精准生成
当目标方法逻辑复杂、含多重分支或外部依赖时,仅靠代码静态分析可能遗漏关键测试点。添加语义化注释可显著提升生成用例的覆盖精度与可读性。
1、在待测方法上方添加Javadoc风格注释,例如:/**\n * 将非空字符串首字母大写,空字符串返回null\n * @param input 输入字符串,允许为null\n * @return 首字母大写的字符串或null\n */
CodeGeeX 2.21.0是智谱AI推出的AI编程助手版本,对Inline Chat功能进行了重大优化,包括UI设计升级、支持流式输出以提升响应速度,并新增“查看思路”按钮以便理解代码原理。同时,该版本在编辑器中新增CodeLens控件,支持一键“解释”代码或“添加注释”。目前该工具对个人开发者免费开放。
2、确保注释中包含输入约束、预期行为、边界条件和异常说明。
3、选中该方法,使用右键菜单或/ tests指令触发生成。
4、CodeGeeX将优先匹配注释中声明的null输入、空字符串、Unicode字符等场景,生成对应断言。
四、使用命令行模式调用CodeGeeX2模型生成
该方式适用于脱离IDE环境进行离线批量测试生成,或需要对生成过程施加更细粒度控制(如指定语言版本、覆盖率策略)的高级用户。
1、确保本地已安装CodeGeeX2 Python环境,并加载codegeex2-6b模型。
2、构造结构化提示(prompt),包含# language: Java标识及目标方法完整签名与实现。
3、调用model.generate()接口,设置max_length=512且top_k=1保证输出稳定性。
4、解码输出结果,提取以@Test标注的方法块,手动整合进项目测试目录。
五、结合Mock配置自动生成集成测试片段
针对含Repository、Service、FeignClient等外部依赖的方法,单纯单元测试不足以验证行为一致性。本方法引导插件生成含MockBean与@MockitoSettings的可运行测试片段。
1、在目标类上方添加@SpringBootTest注解,并确保测试类路径与主应用上下文一致。
2、选中方法后,在Ask CodeGeeX面板输入/tests with mock。
3、插件识别@Autowired字段与@MockBean声明位置,自动注入对应模拟对象。
4、生成的测试方法内包含verify()调用与given().willReturn()预设,覆盖服务间调用链路。










