CodeBuddy支持三种方式生成符合约束的随机测试数据:①基于Feign接口注解反向推导并填充合法随机值;②通过自然语言指令描述字段契约即时生成结构化JSON;③绑定OpenAPI规范批量生成严格遵循schema的多组样本。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在微服务接口调试中需要快速构造符合字段约束的请求体,但手动拼写JSON易出错、字段遗漏或格式不合规时,CodeBuddy可基于接口契约自动启用随机化样本生成,直接输出可粘贴、可运行的测试数据。
从Feign客户端反向推导并生成随机请求样本
该方式适用于已存在Feign接口定义但尚未编写调用方测试代码的场景,CodeBuddy能解析@RequestLine/@PostMapping等注解,提取路径、方法、参数类型与校验规则,再按需填充合法随机值。
第一步:在IDE中打开navigation-facility-service项目的Feign客户端接口文件,定位到getBeaconDetail方法声明行。
第二步:右键→选择“CodeBuddy → Generate random sample for this method”。
第三步:确认弹窗中识别出的路径为GET /beacons/{id}、参数id类型为Long、无请求体——此时CodeBuddy将只生成一个合法随机长整型数字(如128473902),而非构造空JSON。
第四步:若该方法实际应为POST且含RequestBody,则必须检查Feign接口是否误用了@GetMapping;【错误示例:@GetMapping("/beacons") public BeaconResponse createBeacon(@RequestBody BeaconCreateReq req)】——这会导致CodeBuddy忽略@RequestBody并拒绝生成样本,需先修正为@PostMapping。
通过自然语言指令触发结构化随机样本生成
当没有现成接口定义,或需为尚未实现的API提前准备测试数据时,可用一句话描述字段契约,让CodeBuddy即时生成带语义的随机样本。
方法一:在VS Code右侧AI面板输入指令:“生成符合以下要求的随机JSON样本:{ 'name': 非空字符串,长度5–20,含中文;'latitude': -90.0 到 90.0 的浮点数;'status': 枚举值之一('ONLINE'/'OFFLINE'/'MAINTENANCE');'createdAt': ISO 8601格式时间戳,随机在过去7天内}”。
CodeBuddy Code CLI 的安装、配置与使用指南。CodeBuddy Code 是腾讯推出的 AI 驱动 CLI 编程助手,支持自然语言驱动开发。 - 必备触发词:CodeBuddy, codebuddy, AI CLI, Tencent AI coding, @tencent-ai/codebuddy-code, terminal AI assistant - 适用场景:安装 CodeBuddy CLI、配置 CodeBuddy、使用 CodeBuddy 命令、排查 CodeBuddy 问题
方法二:在终端执行单次命令:codebuddy -p "random json for beacon creation with name, latitude, status, createdAt",输出结果会自动满足字段类型与业务范围约束。
注意:若提示“无法推断字段约束”,说明指令中缺少关键限定词,比如没写“非空”或没给枚举值列表——CodeBuddy不会自行猜测取值范围。
绑定OpenAPI规范后批量生成多组随机样本
这是最可靠的方式,尤其适合集成测试前的数据准备。CodeBuddy读取openapi.yaml中schemas定义后,对每个字段应用对应策略生成真实感强的样本。
① 确保项目根目录下存在valid openapi.yaml,其中components.schemas.BeaconCreate已正确定义各字段类型、minLength/maxLength、enum及format(如date-time)。
② 执行命令:codebuddy generate --from openapi.yaml --sample BeaconCreate --count 5。
③ 输出5组JSON,每组都严格遵循schema:name字段不会出现纯数字,latitude始终保留6位小数,status必为三个枚举之一,createdAt时间戳精确到毫秒且落在合理区间。
④ 将生成结果复制进Postman或curl测试脚本即可直接运行,无需人工校验格式合法性。

















