我对假设不熟悉,并尝试了这个简单的代码:
@settings(max_examples=5)
@given(st.integers(), st.integers(), st.integers(), st.integers())
def test_foo(a,b,c,d):
print(a,b,c,d)
如您所见, test_foo 接收 4 个不同的整数。我运行 foo 5 次这是打印结果:
0 0 0 0
0 0 0 0
-2070532028 -5212 -20927 14943
0 0 0 0
0 0 0 0
该测试运行了 5 次,其中 4 次运行了 4 个零。这不是偶然的,每次我运行时test_foo
都会得到相同的结果:3-4 次运行有 4 个零,1-2 次运行有非零
如何获得更多变体参数?