讲师中心 微信公众号
AI工具推荐 视频效率加速

如何利用 Prompt 让 Gemini 自动生成符合编程规范的单元测试

酷晨吖_3908

酷晨吖_3908

发布时间:2026-03-23 18:46:50

|

909人浏览过

|

来源于php中文网

原创

要提升Gemini生成规范单元测试代码的质量,需在Prompt中显式约束语言框架、用例模式、代码风格、参考样例及分步验证五方面要求。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何利用 prompt 让 gemini 自动生成符合编程规范的单元测试

如果您希望 Gemini 生成结构清晰、符合主流编程语言规范的单元测试代码,但输出结果常出现命名随意、断言缺失或覆盖不足等问题,则可能是由于 Prompt 缺乏对测试规范的显式约束。以下是实现该目标的具体方法:

一、明确指定语言与框架规范

Gemini 的输出高度依赖 Prompt 中对技术上下文的精确描述。若未声明目标语言、测试框架及风格指南(如 pytest 的 assert 方式、JUnit 的 @Test 注解、或 Google Test 的 EXPECT_EQ),模型将默认采用通用模板,易偏离实际工程要求。

1、在 Prompt 开头声明目标环境,例如:“请使用 Python 3.9+ 和 pytest 7.x 框架”。

2、补充关键规范约束,例如:“所有测试函数名必须以 test_ 开头,使用小写字母和下划线;每个测试仅验证一个行为;断言必须使用 assert 语句而非 print 或 logging”。

3、提供待测函数签名作为上下文,例如:“被测函数为 def calculate_discount(price: float, rate: float) -> float:”。

二、嵌入典型测试用例模式

单纯要求“生成单元测试”无法触发 Gemini 对边界值、异常路径等关键场景的覆盖意识。需在 Prompt 中内嵌结构化用例模板,引导其按模式生成。

1、明确定义三类必含用例:“请分别生成:正常输入用例(如 price=100.0, rate=0.1)、边界值用例(如 price=0.0, rate=1.0)、非法输入用例(如 price=-10.0 或 rate=1.5)”。

2、为每类用例指定断言目标,例如:“非法输入用例中,必须抛出 ValueError,并使用 with pytest.raises(ValueError): 验证”。

3、要求为每个测试添加简短英文 docstring,说明其验证意图,例如:“每个测试函数开头需有单行 docstring,格式为 'Tests X when Y'”。

三、强制注入代码风格检查项

编程规范不仅涉及逻辑正确性,还包括可读性与可维护性。Gemini 不会自发遵循 PEP 8、Google Java Style 等规则,需通过 Prompt 显式注入检查点。

1、限定命名长度与格式,例如:“变量名不得缩写,test 函数参数名须为 price_input 和 rate_input,不可简写为 p 或 r”。

Generate images & videos with: Gemini 3 Pro Image + Qwen Wan 2.6 (video) via one API key
Generate images & videos with: Gemini 3 Pro Image + Qwen Wan 2.6 (video) via one API key

使用AIsa生成图像与视频。仅需一个API密钥即可调用Gemini 3 Pro Image(图像)和Qwen Wan 2.6(视频)。

下载

2、规定空行与缩进行为,例如:“测试函数之间空一行;assert 语句前不加空格,后跟一个空格,如 assert result == 90.0”。

3、禁用不安全实践,例如:“禁止使用 time.sleep()、os.system() 或任何外部 I/O;所有测试必须纯内存执行”。

四、提供带注释的参考样例

Gemini 对少样本学习(few-shot learning)响应敏感。提供一段人工编写的、完全合规的测试样例,能显著提升其输出一致性与规范性。

1、在 Prompt 中插入完整样例,例如:“参考以下合规示例:def test_calculate_discount_normal_case():\n \"\"\"Tests discount calculation when price and rate are valid.\"\"\"\n result = calculate_discount(200.0, 0.15)\n assert result == 170.0”。

2、在样例后立即强调其要素,例如:“注意:该样例包含完整 docstring、无缩写参数名、单一 assert、无空行冗余、数值使用浮点字面量”。

3、要求新生成内容严格对齐该样例的缩进层级、标点风格与换行位置,例如:“新测试函数的 def 行、docstring 行、assert 行必须与样例保持相同缩进和空格数”。

五、分步验证式 Prompt 结构

将生成任务拆解为可验证的子指令,避免 Gemini 一次性输出模糊结果。每步输出均可独立校验是否满足规范。

1、第一步指令:“仅输出待测函数的全部可能输入分类,每类占一行,格式为:[分类名]:说明,例如 [正常输入]:price > 0 且 0 ≤ rate ≤ 1”。

2、第二步指令:“针对上一步中的 [边界值] 类,生成一个完整测试函数,包含 docstring、调用和 assert,不输出其他任何内容”。

3、第三步指令:“检查上一函数:是否含空行?docstring 是否以 Tests 开头?assert 是否唯一且无多余空格?仅回答‘通过’或列出不合规项”。

相关文章

编程速学教程(入门课程)
编程速学教程(入门课程)

编程怎么学习?编程怎么入门?编程在哪学?编程怎么学才快?不用担心,这里为大家提供了编程速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

相关专题

更多
Gemini网页版零基础入门:5分钟上手Gemini聊天指南
Gemini网页版零基础入门:5分钟上手Gemini聊天指南

本专题专为零基础用户打造,5分钟快速掌握Gemini网页版核心用法。从账号登录到界面布局,详解如何发起对话、优化提示词及利用多模态功能。通过实战案例,教你高效获取信息、创作内容与分析数据。无论学习还是工作,轻松开启AI辅助新时代,让Gemini成为你的得力智能助手。

19257

2026.03.18

如何写出高效Gemini提示:Chain of Thought实用教程
如何写出高效Gemini提示:Chain of Thought实用教程

本专题详解如何利用“思维链”(Chain of Thought)技巧激发 Gemini 模型的深度推理能力。通过引导模型将复杂问题拆解为逐步推导的逻辑链条,显著提升其在数学计算、代码生成及逻辑分析任务中的准确率。文章提供实用提示模板与对比案例,助您掌握结构化提问方法,从简单指令升级为高效交互,轻松获取更精准、可解释的智能回答。

57

2026.03.23

Gemini多模态实战:图片PDF视频输入完整处理指南
Gemini多模态实战:图片PDF视频输入完整处理指南

本指南全面解析 Gemini 多模态实战,涵盖图片、PDF 及视频的高效处理流程。从上传技巧到提示词设计,教您如何提取文档关键信息、分析图表数据及解读视频内容。通过真实案例演示,助您掌握跨模态交互核心技能,轻松构建智能文档分析与多媒体理解应用,释放 AI 潜能。

77

2026.03.23

Gemini提示工程进阶:Few-shot与角色扮演优化方法
Gemini提示工程进阶:Few-shot与角色扮演优化方法

本进阶指南深入解析 Few-shot 学习与角色扮演在 Gemini 提示工程中的核心应用。通过精选示例引导模型模仿特定风格,结合角色设定规范输出语气与逻辑,显著提升复杂任务的处理精度。文章提供实用模板与调优策略,助您打造个性化 AI 助手,实现从通用回答到专业级交互的质的飞跃。

96

2026.03.23

Google AI Studio使用教程:从模板到自定义Prompt实战
Google AI Studio使用教程:从模板到自定义Prompt实战

本教程手把手教您掌握 Google AI Studio,从快速调用官方模板到深度自定义 Prompt 实战。内容涵盖界面导航、参数调优及版本管理,助您灵活构建专属 AI 应用。通过真实案例演示,让您轻松实现从创意构思到原型部署的全流程,高效释放 Gemini 模型潜能,打造智能化解决方案。

121

2026.03.23

Gemini API快速上手:Python调用generateContent完整指南
Gemini API快速上手:Python调用generateContent完整指南

本指南详解如何使用 Python 快速调用 Gemini API 的 generateContent 方法。从环境配置、密钥管理到核心代码实现,逐步演示文本生成、多模态输入及流式响应处理。包含完整示例与错误排查技巧,助开发者轻松集成 Gemini 强大能力,构建高效智能应用,开启 AI 开发新篇章。

130

2026.03.23

如何实现Gemini函数调用:Tool Use与外部工具集成教程
如何实现Gemini函数调用:Tool Use与外部工具集成教程

本教程深入解析 Gemini 函数调用机制,详解 Tool Use 配置与外部工具集成流程。从定义函数架构到处理动态参数,手把手教您连接数据库、搜索 API 及自定义服务。通过实战案例,展示如何让 AI 自主规划并执行复杂任务,突破纯文本限制,构建具备真实行动力的智能代理系统。

185

2026.03.23

Gemini结构化输出JSON模式:API稳定提取数据实战
Gemini结构化输出JSON模式:API稳定提取数据实战

本实战指南详解如何利用 Gemini API 的 JSON 模式实现结构化数据提取。通过配置响应格式约束,确保模型输出严格符合预定义 Schema,彻底解决解析错误难题。内容涵盖字段定义、类型校验及异常处理,助您在信息抽取、数据清洗等场景中构建高稳定性管道,轻松将非结构化文本转化为可靠的应用数据。

111

2026.03.23

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

20

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Gemini Notebook常见问题解答
Gemini Notebook常见问题解答

共0课时 | 0人学习

Gemini Notebook官方手册
Gemini Notebook官方手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn