QuickCheck 1 中的功能verboseCheck
似乎在 QuickCheck 2 中不存在(或者至少,我找不到它)。有没有其他方法可以显示测试期间使用了哪些值?
问问题
1523 次
5 回答
7
该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"
....
这样,就可以轻松地使用您的 Arbitrary 实例,并确保它们生成您认为它们生成的内容。
于 2010-03-26T22:02:17.560 回答
4
是的,这似乎是 QuickCheck 1 的功能回归。
但是,您可以通过使用 Debug.Trace.trace 语句注释您的属性来解决它。就像是:
import Debug.Trace
prop_eq xs = traceShow xs $
xs == reverse (reverse xs)
于 2010-03-25T18:01:38.027 回答
3
我一直很高兴
import Debug.Trace
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input)
于 2010-10-21T19:50:25.157 回答
2
看起来verbose
(和其他verbose
功能)在 2.4 版中返回给 QuickCheck
于 2011-06-08T17:48:24.003 回答
1
我查看了源,似乎Args
已重构,configEvery
不再存在,因此您无法在不修补 QuichCheck 源的情况下打印所有测试值
于 2010-03-25T16:57:21.250 回答