这个项目能做什么
Hypothesis 是 Python 的基于属性的测试库。开发者无需使用固定输入编写测试,而是描述函数应处理的输入范围,Hypothesis 会从该范围中随机生成测试用例——包括开发者可能未预料到的边界情况。
核心工作流使用 @given 装饰器和 strategies 模块。例如,测试可以写成 @given(st.lists(st.integers())),以自动生成整数列表,并验证自定义排序函数与 Python 内置 sorted() 一致。这种方法能捕获手写测试用例会遗漏的缺陷和边界情况。
当 Hypothesis 发现失败测试时,它不会报告任意失败输入。相反,它会将失败用例收缩到尽可能最简单的形式,使调试显著更容易。例如,如果排序函数错误地对输入去重,Hypothesis 会报告最小失败用例,如 ls=[0, 0],而不是一个大型随机列表。
安装通过 pip install hypothesis 即可轻松完成。可选附加组件可用于额外功能。该项目包括文档、网站以及面向贡献者和用户的社区板块。
评论
0 评分人数达到10人后显示
登录后参与讨论。