假设重复相同的值
hypothesis repeats the same values
我是假设的新手并尝试了这个简单的代码:
@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 运行s 有 4 个零和 1-2 运行s 有非零
如何获取更多变体参数?
解决这个问题的唯一方法就是运行(很多)五个以上的例子!
假设并不能保证它只会产生任何特定的输入一次,事实上我们必须产生一些副本来检查不稳定的测试。我们也更喜欢在最有效的时候尽早探索各种简单的例子。为什么你看到这个特定模式的实现细节很复杂,所以我只想说,如果你 运行 使用默认的 100 个示例,那将不是问题。
我是假设的新手并尝试了这个简单的代码:
@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 运行s 有 4 个零和 1-2 运行s 有非零
如何获取更多变体参数?
解决这个问题的唯一方法就是运行(很多)五个以上的例子!
假设并不能保证它只会产生任何特定的输入一次,事实上我们必须产生一些副本来检查不稳定的测试。我们也更喜欢在最有效的时候尽早探索各种简单的例子。为什么你看到这个特定模式的实现细节很复杂,所以我只想说,如果你 运行 使用默认的 100 个示例,那将不是问题。