这个项目能做什么

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