从快速检查1所述的功能verboseCheck似乎是在快速检查2(或至少,我无法找到它)中不存在。是否有任何其他的方式来显示,其值被测试期间使用?

有帮助吗?

解决方案

看起来像verbose(和其他verbose-函数)在2.4版本被返回到快速检查

其他提示

sample功能也是有用的:

Prelude Test.QuickCheck
ghci> sample (arbitrary :: Gen String)
""
")\223"
"(\227\&5F"
"\DC1"
"\136'\140\180\FS"
"K\DC2\NUL\CAN\253Q"
"\DC4\f\184&.\DC3\159\&1I\160j\147"
....

这个方式,它很容易与您的任意情况下打球,并确保他们产生你认为他们产生。

是,这似乎是一个功能性回归相对于快速检查1。

您可以解决它通过与Debug.Trace.trace声明标注的性能,但是。是这样的:

import Debug.Trace

prop_eq xs = traceShow xs $ 
   xs == reverse (reverse xs)

我已经高兴

import Debug.Trace
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input)

我看了看源,它似乎是Args进行重构,configEvery不再存在,因此你不能够打印所有的测试值,而不打补丁QuichCheck源

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top