题
从快速检查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源
不隶属于 StackOverflow