在jkwik站点上的第一个示例中,有一个生成器可能生成大量“可被3整除”的值:
@Property
boolean every_third_element_starts_with_Fizz(@ForAll("divisibleBy3") int i) {
return fizzBuzz().get(i - 1).startsWith("Fizz");
}
@Provide
Arbitrary<Integer> divisibleBy3() {
return Arbitraries.integers().between(1, 100).filter(i -> i % 3 == 0);
}jqwik将运行所有可能值的属性测试,还是从此列表中选择值?如果是secon案件,它是如何选择的?
发布于 2019-10-25 10:19:56
在这种情况下,jqwik将生成所有可能的值,因为只有100个候选值需要考虑,并且100小于生成值的默认数量( 1000 )。由于也发生了过滤,因此只生成可被3整除的低于100的33个数字。
如果某个值的可能范围无法完全覆盖,则选择值
从一组典型的边缘情况(如最小(1) )和来自所有值集的最大(100)
https://stackoverflow.com/questions/58555538
复制相似问题