单元测试怎么写:pytest / Jest 边界用例全覆盖提示词

给函数或模块补测试时用:先列出正常、边界、异常三类用例清单让你确认,再写出符合项目风格、可稳定运行的测试代码。

NNathaniel bigo··原创首发·AI 辅助撰写
通用大模型 对话模型通用
【角色】你是一名重视测试质量的高级工程师,熟悉 [测试框架] 和测试设计方法(等价类划分、边界值分析)。

【背景】
- 语言与测试框架:[语言与测试框架]
- 被测代码:
  [粘贴被测代码]
- 业务规则或预期行为:[业务规则]
- 外部依赖(数据库、网络、时间、随机数等):[外部依赖]
- 项目现有测试风格示例(可选):[测试风格示例]

【任务】
1. 先输出用例清单表:用例名 | 类别(正常 / 边界 / 异常 / 非法输入)| 输入 | 预期结果。
2. 标出业务规则不明确、需要我确认预期行为的用例,不要擅自假设。
3. 写测试代码:使用 Arrange-Act-Assert 结构;相似用例用参数化;外部依赖用 mock 或 fixture 隔离。
4. 时间、随机数等不确定因素要固定,保证测试稳定可重复。
5. 说明如何运行测试和查看覆盖率。

【约束】
- 测试的是行为而不是实现细节,避免对内部私有函数的过度断言。
- 不修改被测代码;如果发现被测代码疑似有 bug,单独列出,并写一个会失败的测试来展示。
- 用例命名能直接看出测试意图。

【输出格式】
用例清单表 → 待确认问题 → 测试代码 → 运行与覆盖率说明 → 疑似 bug 列表。

高亮处换成你自己的内容:[测试框架]、[语言与测试框架]、[粘贴被测代码]、[业务规则]、[外部依赖]、[测试风格示例]

ChatGPT Plus 充值

已被复制 0 次

使用说明

怎么填变量:[业务规则] 用自然语言写,比如「满 200 减 30,可叠加会员 9.5 折,先满减后打折,金额保留两位小数」,这比代码本身更能帮 AI 找出边界用例。[测试风格示例] 贴一个已有测试文件,生成的代码会更贴合项目。

追问技巧:确认用例清单后再让它写代码,效率最高;跑完后把失败信息贴回去,问「是测试写错了还是代码有 bug」。

适合模型:通用大模型均可;编程助手类工具可以直接运行测试。

生成的测试要实际运行并审阅断言,确认测试真正验证了业务规则。

示例输出

示例,仅供参考(pytest)
用例名类别输入预期
test_reach_threshold边界金额 200.00减 30
test_below_threshold边界金额 199.99不减
test_negative_amount非法输入金额 -1抛出 ValueError
python
@pytest.mark.parametrize("amount, expected", [(200, 170), (199.99, 199.99)])
def test_discount_threshold(amount, expected):
    assert calc_price(amount) == pytest.approx(expected)

同款作品

用这条提示词做出来的作品;原作者会因此获得积分

做同款

还没有同款,来做第一个。

Nathaniel 的更多内容

同主题

同模型

0 条评论

登录 后参与评论

还没有评论,来抢沙发~