news 2026/4/23 13:49:10

AI生成测试代码(很干~干货)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI生成测试代码(很干~干货)

AI 真的能生成符合项目要求的测试代码吗?答案是肯定的,但前提是你需要掌握正确的方法。经过长期实践,我发现要想让 AI 生成高质量的代码,有几个关键点必须做到位。

关键点一:建立知识库,实时 Embedding 项目代码

为什么知识库如此重要?

AI 生成代码的核心在于"理解"——理解你的项目结构、编码风格、业务逻辑、测试规范等。如果 AI 对这些一无所知,它只能生成通用的、脱离项目实际的代码。

解决方案:建立项目知识库,实时将代码 Embedding 到知识库中

  • 实时性:项目代码在不断迭代,知识库也需要同步更新。只有保持代码库的实时性,AI 才能根据最新的代码模式生成符合当前项目规范的代码。

  • 全面性:不仅要包含测试代码,还要包含业务代码、工具类、配置文件等,让 AI 全面理解项目的技术栈和架构。

  • 结构化:通过 Embedding 技术,将代码转换为向量表示,使得 AI 能够快速检索和理解相关代码片段。

实践建议

定期(建议每天或每次重要更新后)将项目代码同步到知识库,确保 AI 始终基于最新的代码上下文生成代码。

PS:cursor 这样的产品可以自动更新知识库。只要你写代码了,就会自动上传到服务器并进行 embedding

关键点二:良好的上下文管理

上下文限制的挑战

每个 AI 模型都有上下文限制。以 Cursor 为例,即使是最强大的模型,上下文上限也就在 200K token 左右。当对话内容超过这个限制时,早期的上下文就会丢失,AI 会"忘记"你之前的需求、代码逻辑、设计决策等重要信息。

上下文工程的核心策略

  1. 利用 Rules 文件

Cursor 的.cursorrules文件是一个强大的上下文管理工具。你可以把它理解为"系统提示词"——文件中的内容会被自动加入到每次对话的 system prompt 中。

建议做法

  • 将项目的编码规范、测试规范、常用模式写入 rules 文件

  • 定期更新 rules 文件,反映项目的最新规范

  • 为不同模块或领域创建专门的 rules 文件

示例:

  1. 定期总结和摘要

代码摘要:将复杂的代码逻辑通过大模型的摘要功能,总结成文档。这样既保留了关键信息,又大大减少了 token 消耗。

对话摘要:Cursor 支持在对话中将之前的上下文总结摘要。当对话内容过长时,及时使用这个功能,保留核心信息,丢弃冗余内容。

策略调整:根据实际效果,不断调整摘要策略。哪些信息需要保留,哪些可以丢弃,这需要在实际使用中不断优化。

实践建议

  • 建立上下文管理的意识,不要等到 token 超限才想起管理

  • 定期(每完成一个重要功能后)进行摘要和总结

  • 将关键决策和逻辑以文档形式保存,而不是完全依赖对话历史

关键点三:先写模板代码,让 AI 学习

为什么需要模板代码?

虽然 AI 很强大,但它需要"参考"来理解你的具体需求。最有效的方式是:你先写一部分代码作为模板,让 AI 学习你的编码风格、注释规范、测试模式等。

如何写好模板代码?

  1. 良好的注释

代码注释是 AI 理解代码逻辑的重要途径。Cursor 的 Tab 功能(自动生成注释)非常强大,可以帮助你快速生成高质量的注释。

注释要点

  • 说明代码的目的和逻辑

  • 解释关键参数和返回值

  • 标注重要的业务规则和边界条件

  1. 完整的示例

模板代码应该是一个完整的、可运行的示例,而不是片段。这样 AI 能够理解:

  • 完整的代码结构

  • 导入依赖的方式

  • 错误处理的模式

  • 测试断言的方式

实践建议

  • 为每个新的测试场景,先手写一个完整的测试用例作为模板

  • 确保模板代码符合项目规范,注释清晰完整

  • 将模板代码保存到知识库中,供后续参考

关键点四:提供详细的逻辑细节

为什么需要详细描述?

很多人对 AI 代码生成有一个误解:以为说一两句话,AI 就能生成完美的代码。这是不现实的。

如何写好提示词?

测试写一个测试用例时,中文描述经常写几百字,包括:

  • 测试目的:这个用例要验证什么功能

  • 前置条件:需要准备哪些数据、环境

  • 测试步骤:详细的步骤描述,包括每个步骤的输入和预期输出

  • 边界情况:需要覆盖的异常场景

  • 验证点:如何判断测试是否通过

示例

测试用例:验证Agent应用在添加Calculator插件后,能够正确进行数学计算。

前置条件:

  • 创建一个Agent模式的应用

  • 应用已配置Calculator插件

  • 插件配置了结构化输出参数:Code(整数)、Msg(字符串)、Data(对象)

测试步骤:

  1. 在评测端输入问题:"使用Calculator计算100*100"

  2. 验证Calculator插件被正确调用

  3. 验证返回结果包含10000

  4. 验证返回结果为结构化格式,包含Code、Msg、Data字段

  5. 发布应用到用户端

  6. 在用户端输入相同问题,验证功能一致

边界情况:

  • 输入无效的数学表达式

  • 输入超大的数字

  • 插件配置错误的情况

验证点:

  • 插件调用次数为1

  • 返回结果格式正确

  • 计算结果准确

实践建议

  • 不要吝啬文字:详细的描述能换来更准确的代码

  • 结构化描述:使用列表、分段等方式,让描述更清晰

  • 不断优化:根据生成效果,不断改进提示词的写法

工具推荐:为什么选择 Cursor?

经过大量实践和对比,我最推荐的是 Cursor、Codex、Claude 这类产品。目前我主要使用 Cursor,不过可能需要付费。那么我建议小伙伴们,好好想想实时构建知识库和上下文工程的问题,解决不了这两样, AI 生成代码一定是智障的

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:15:51

容联七陌 X 凯德MALL|大模型客服驱动购物中心服务升级

凯德(中国)企业管理有限公司作为凯德集团旗下核心成员,专注于线下大型商业综合体运营,旗下核心品牌"凯德MALL"覆盖全国多座城市。其业务以零售、餐饮、休闲娱乐等多业态融合为核心,致力于通过数字化手段提升…

作者头像 李华
网站建设 2026/4/23 12:23:32

SSM小型超市货物仓储管理系统w8wry(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面

系统程序文件列表 系统项目功能:仓库管理员,主管,货物种类,货物区域,货物信息,货物分区,货物出库,货物入库,每日结存,供应商,日志,每月结存,出入库申请 开题报告:基于SSM的小型超市货物仓储管理系统设计与实现 一、研究背景与意义 1. 研究背景 当前小…

作者头像 李华
网站建设 2026/4/23 12:22:23

「2026最新排行榜」国内外TOP6背景音乐素材网站精选!口碑靠谱必收藏,零侵权风险,企业/个人首选下载渠道!

在音乐创作、影视制作、广告剪辑、短视频创作等领域,适配的背景音乐是提升作品质感的关键。但优质、合规的背景音乐素材筛选难度较高,本文整理了国内外口碑出众的背景音乐素材网站,涵盖不同风格、授权模式,满足个人与商业创作需求…

作者头像 李华
网站建设 2026/4/22 1:53:46

Wifi跨VLAN三层漫游

一、适用场景 1、移动语音/视讯 校园、医院、 VoWiFi、无线 IPC、移动护理终端,漫游时若 IP 变化,SIP 会话会掉话或重注册;三层漫游把流量隧道回“原网关”,保证会话不中断。 2、移动扫码支付/POS 商场、超市的无线 POS 机、扫码枪…

作者头像 李华
网站建设 2026/4/23 13:45:11

大白话带你彻底搞懂大语言模型:AI的“理解“本质是高维几何

文章用烧烤摊师傅比喻解释大语言模型原理。AI并非真正理解语言,而是通过高维空间中的词向量和统计概率预测回应。词向量如同食材风味档案,自注意力机制像师傅火眼金睛,预训练是学徒生涯,微调是出师定制。AI的智能是基于数据几何关…

作者头像 李华