高质量单元测试需锁定四大维度:正常路径、边界输入、非法类型、空/零值特例,并强制输出含assert的可执行代码;多参数用笛卡尔积或等价类覆盖;异常测试须明确异常类型、触发条件及with pytest.raises断言。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让DeepSeek为你生成高质量、可直接运行的单元测试用例,但每次输出都缺边界值、漏异常分支、不覆盖参数组合——问题不在模型能力,而在提示词没锁死测试维度和校验逻辑。
基础测试用例生成(单函数场景)
第一步:明确函数签名与行为语义。把原始函数完整粘贴进来,不能只写“写个测试”,否则DeepSeek会按通用模板填充,大概率忽略你代码里实际存在的None检查或浮点精度容忍逻辑。
第二步:在提示词中强制指定四大测试维度——正常路径、边界输入、非法类型、空/零值特例。例如:“为def parse_int(s: str) -> int生成pytest用例,必须覆盖:①有效数字字符串如'123';②带正负号如'-45';③空字符串和None;④含字母的乱码如'abc7';⑤超长整数字符串(触发OverflowError)”。
第三步:要求输出含断言语句的完整可执行代码块,禁用伪代码或自然语言描述。这一步漏掉,DeepSeek可能只返回测试思路而没有assert行。
多参数组合覆盖(接口级测试)
方法一:用笛卡尔积思维写约束。例如:“对API POST /v1/orders 接口生成pytest测试,参数包括user_id(int)、items(list[dict])、discount_code(str|None),请按以下组合生成用例:user_id=0/1000/999999 → items=[]/[{'id':1,'qty':1}]/[{'id':1,'qty':0},{'id':2,'qty':-1}] → discount_code=None/'VIP2024'/'INVALID'”。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
方法二:用等价类划分法压缩用例量。直接告诉DeepSeek:“不要穷举所有组合,按等价类合并:user_id取负数/0/正数三类;items取空/单合法项/含非法qty两类;discount_code取None/有效码/过期码三类;最终生成≤12条高价值用例”。
【关键前提】必须提供接口的OpenAPI Schema或字段校验规则原文,否则DeepSeek无法识别哪些是业务级非法值(比如discount_code长度超20才报错),只能按Python语法做泛化判断。
异常路径专项测试(容错验证)
直接锁定异常类型+触发条件+断言方式。例如:“为数据库连接函数connect_db(host, port, timeout)写测试,要求:①当host为空字符串时抛出ValueError,用with pytest.raises(ValueError)捕获;②当port=0时抛出OSError;③当timeout
这一步最容易被忽略:不写match参数,测试就只是“是否抛异常”,无法验证错误提示是否符合团队规范。DeepSeek默认不生成match,必须明令指定。
如果原函数使用了logging.error而非raise,那就换指令:“验证当host不可达时,是否调用logging.error且消息含'connection refused'——用caplog fixture捕获并断言”。


















