如何生成能发现真实错误的单元测试。
单元测试应表达预期行为和有意义的边界。不要只在测试中重复实现的公式。
按任务需求调整流程。
从函数契约定义预期行为,选择有意义的普通、边界和失败案例。使用已知结果或独立夹具,避免断言只是重复实现中的计算。
- 你需要提供什么
- 函数实现和测试框架。
- 你会得到什么
- 覆盖行为与边界情况的有意义测试。
查看输入和结果。
演示用输入和输出 · 教学示例,并非 WebAct 实时运行结果
示例 个输入项
Write pytest tests for calculator.add(a, b). It returns the sum of two integers. Required cases: positive values, zero, negative values.
完整示例
# test_calculator.py
import pytest
from calculator import add
@pytest.mark.parametrize("a,b,expected", [(2, 3, 5), (0, 0, 0), (-2, 3, 1)])
def test_add(a, b, expected):
assert add(a, b) == expected
Run in the project with pytest installed: python -m pytest test_calculator.py将这份输入载入提示词,再复制到 WebAct 中尝试任务。实际结果可能与示例不同。
决策与问题排查。
生成的单元测试应复制函数公式吗?
尽可能使用独立已知的期望值。在测试中重复同样错误,可能让错误实现看起来已被验证。
为什么所有测试都通过,实际故障却仍存在?
检查测试是否覆盖失败条件和真实契约。测试数量多并不能证明覆盖具有相关性。
此工作流程的参考资料。
使用自己的资料试一试。
将任务提示词中的示例换成你的材料。保留所需条件,再把任务复制到 WebAct。
自定义并复制任务 ↑