必须先提问再生成:①被测方法签名;②预期行为边界;③是否依赖外部服务(需Mock)。当前项目使用Spring Boot 3.2 + Mockito 5,被测类是@Service组件。不要问模糊问题——如不告知方法用途,无法判断负数等边界场景。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

让豆包在写单元测试前主动追问关键信息,避免生成脱离实际业务逻辑或技术栈的无效代码,必须打破它默认“直接输出”的响应惯性。
用结构化提问模板触发追问机制
在提示词开头明确要求“先提问、再生成”,并限定首轮只允许提3个问题。豆包对数字约束敏感,不写数量它大概率跳过追问直接写代码。
输入:【请先向我提出最多3个关键问题,确认清楚后再生成JUnit 5风格的单元测试代码。问题需聚焦:①被测方法签名(含类名、方法名、参数类型);②预期行为边界(如空参/异常输入如何处理);③是否依赖外部服务(需Mock)】
这一步必须完整粘贴该句,漏掉“最多3个”或“确认清楚后再生成”中的任一要素,豆包会立刻开始写测试,不再追问。
立即进入“豆包AI人工智官网入口”;
立即学习“豆包AI人工智能在线问答入口”;
用具体技术栈锚定追问方向
方法一:指定框架+版本+典型场景
使用豆包(火山引擎 Ark)生成图片或视频并保存本地。用户提及“豆包生图/图片/生视频/视频”、“Doubao”、“Seedance”、“火山引擎图片/视频”时触发。
在提问模板后紧跟一行技术上下文,例如:“当前项目使用Spring Boot 3.2 + Mockito 5,被测类是@Service组件。”豆包识别到Spring Boot和Mockito组合,会自动追问“是否需要验证@MockBean注入”或“是否需@WebMvcTest切片测试”。
方法二:给出错误示例反向约束
追加一句:“不要问‘方法功能是什么’这类模糊问题——如果我不告诉你方法用途,你无法判断输入参数是否要覆盖负数场景。”这句话能压制豆包问空泛问题的倾向,逼它聚焦可验证的技术细节。
拦截默认响应的强制手段
第一步:发送初始提示词后,若豆包首条回复是代码而非问题,立即中断对话。
第二步:新开对话,输入更强势的指令:“停止生成任何代码。现在只做一件事:列出3个必须由我确认才能写测试的问题。每个问题后标注‘(必答)’。”
第三步:等它返回带(必答)标记的问题列表,逐个回答后追加:“以上已确认,现在生成完整测试代码。”
【首次回复不是问题列表就放弃当前对话,重开对话成本远低于调试错误测试】


















