经过一些额外的调查,我了解到当通过s/valid?
生成函数时,会调用s/conform*
,并且21是默认的*fspec-iterations*
值。
我对在函数生成时使用全面instrumentation(即使用`:args`、`:ret`和`:fn`)而只有在函数执行时使用`:args`的设计选择感到有些惊讶。
但经过一番思考,既然每个函数都与一个生成器自动相关联,因此生成不满足spec中的`:fn`属性的函数是一个重要的事情。此外,生成函数的目的是作为占位符进行检查,因此在执行时仅检查`:args`对于正确地进行错误边界检查也是一件好事。