为什么我的简单的有限假设检验永远不会停止?

tah*_*ith 5 python pytest python-hypothesis

我正在使用假设4.24.6和pytest-5.0.0运行测试套件。我的测试有一组有限的可能输入,但是假设从未完成测试。

我将其简化为以下最小示例,我将其作为 pytest test.py

from hypothesis import given
import hypothesis.strategies as st


@given(x=st.just(0)
         | st.just(1),
       y=st.just(0)
         | st.just(1)
         | st.just(2))
def test_x_y(x, y):
    assert True
Run Code Online (Sandbox Code Playgroud)

我希望它在这里尝试所有六个组合然后再成功。或者可能是检查薄脆性的一小部分。相反,它会无限期运行(在大约15分钟的测试后,我将其杀死了。)

如果我中断测试,追溯记录似乎表明它只是不断产生新的例子。

我在这里做错了什么?

Zac*_*dds 1

这个错误在假设4.26.2中得到了修复,或者至少我们是这么认为的;它实际上已在 4.26.3 中修复:https ://hypothesis.readthedocs.io/en/latest/changes.html#v4-26-3