news 2026/6/23 21: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/6/23 8:48:28

YOLO深度学习模型的训练参数配置与优化

一、总览 def parse_opt(known=False):parser = argparse.ArgumentParser()parser.add_argument(--weights, type=str, default=ROOT / yolov5s.pt, help=initial weights path)parser.add_argument(--cfg, type=str, default=, help=model.yaml path)parser.add_argument(--d…

作者头像 李华
网站建设 2026/6/23 21:25:56

数字孪生可视化模板怎么用?5大行业Demo拆解,帮你快速复用提效

在数字化转型加速推进的当下,数字孪生可视化已成为各行业提升运营效率、优化决策质量的核心工具。但对多数用户而言,新上架的可视化模板往往存在“看着好、用着难”的问题——不熟悉业务板块适配逻辑、不清楚配置要点,导致模板复用效率大打折…

作者头像 李华
网站建设 2026/6/23 21:32:07

必藏!程序员转型AI大模型:机遇、路径与成功率拆解

在程序员圈子里,“技术转型"从来都是绕不开的热门话题。尤其是ChatGPT引爆AI浪潮后,大模型技术以肉眼可见的速度重塑产业格局——从代码生成工具Copilot到智能客服系统,从数据分析平台到自动驾驶决策层,处处都有大模型的身影…

作者头像 李华
网站建设 2026/6/22 22:26:13

如何将照片从 Android 传输到 Android

您还在为将照片从 Android 传输到 Android 而苦苦挣扎吗?您现在可以轻松解决此问题。有 5 种有效的方法可以帮助您在 Android 设备之间传输图片。让我们来看看。第 1 部分:如何一键将照片从 Android 传输到 Android如何一键将照片从一部手机传输到另一部…

作者头像 李华
网站建设 2026/6/23 3:45:24

前端Vue使用js-audio-plugin实现录音功能

在前端 Vue 项目中使用 js-audio-recorder 组件,可按以下流程进行操作:安装组件:在项目根目录下执行npm i js-audio-recorder命令,安装该组件。引入组件:在需要使用录音功能的 Vue 组件中,通过import Recor…

作者头像 李华