豆包生成高质量单元测试需结构化提示:明确框架(如pytest)、输入输出规则、边界用例、断言方式及环境约束,避免伪代码,确保可直接运行并通过覆盖率要求。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让豆包生成高质量、可直接运行的单元测试代码,但普通提示词经常产出空泛描述、缺少断言或无法匹配真实函数签名。
普通版提示词:能跑就行
第一步:在豆包输入框里写“给这个函数写个单元测试”→粘贴你的函数代码→点击发送。
这一步操作起来很简单,但豆包大概率返回一段带注释的伪代码,比如“// 测试输入1,检查输出是否为true”,根本不能直接执行。
原因在于它没被明确要求生成可运行的测试框架代码,也没指定语言版本和断言风格。
结构化进阶版:指定框架+输入输出+边界用例
方法一:用三段式模板
请用Python + pytest为以下函数生成完整可运行的单元测试文件:① 函数接收两个非空字符串参数a和b,返回a中b出现的起始索引(未找到返回-1);② 必须覆盖3类用例:正常匹配(如a="hello", b="ll")、不匹配(a="abc", b="d")、边界情况(b长度大于a、b为空字符串);③ 每个测试函数名以test_开头,使用assert语句验证返回值,不要print或注释代替断言。
【b为空字符串属于非法输入,测试用例中必须显式抛出ValueError并用pytest.raises捕获】
方法二:附带已有测试风格参考
字节跳动正式推出了其最新的智能图像创作模型——Seedream 5.0 Lite。作为豆包大模型2.0系列的重要组成部分,该模型不仅在理解、推理和生成能力上实现了全面跃升,更针对企业级视觉创作需求进行了深度优化,标志着AI生图技术向“实用化”与“智能化”迈出了关键一步。
我当前项目中所有测试都用unittest.TestCase编写,断言统一用self.assertEqual,mock只用patch装饰器。请严格按此风格为下面的calculate_tax函数写测试:输入income=5000→预期返回500;income=0→返回0;income=-100→应抛出ValueError。
高阶精准版:注入上下文与约束条件
第一步:先声明运行环境
当前项目使用Python 3.11,已安装pytest 8.2和pytest-cov,测试目录为tests/unit/,待测函数位于src/utils.py中,函数名为parse_duration,接收一个形如"2h30m"的字符串,返回总秒数(int)。
第二步:定义不可妥协的规则
生成的测试文件必须命名为test_parse_duration.py,保存在tests/unit/下;每个测试用例必须有清晰的中文docstring说明场景;禁止使用任何time.sleep或随机数;所有异常路径(如输入None、空字符串、非法单位"2x")必须用pytest.raises明确断言;覆盖率要求分支覆盖率达100%,因此需包含至少1个含小数的输入(如"1.5h")和1个复合单位超长输入(如"100h99m59s")。
第三步:给出失败样例反向约束
不要生成类似“# TODO: 补充异常测试”的占位符,也不要返回带...省略号的代码片段——所有测试函数必须完整、语法正确、能被pytest -v tests/unit/test_parse_duration.py直接执行通过。










