The function verboseCheck
from QuickCheck 1 seems to be absent in QuickCheck 2 (or at least, I can't find it). Is there any other way to show which values are used during testing?
views:
199answers:
4
+1
A:
I took a look at sources, and it seems that Args
were refactored, configEvery
is no longer there, and thus you are not able to print all test values without patching QuichCheck sources
ADEpt
2010-03-25 16:57:21
+2
A:
Yes, this seems to be a functionality regression with respect to QuickCheck 1.
You can work around it by annotating your properties with a Debug.Trace.trace statement, however. Something like:
import Debug.Trace
prop_eq xs = traceShow xs $
xs == reverse (reverse xs)
Don Stewart
2010-03-25 18:01:38
+1
A:
The sample
function is also useful:
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"
....
This way, it's easy to play with your Arbitrary instances, and make sure they generate what you think they generate.
jrockway
2010-03-26 22:02:17
Yes, it is useful.
Alexey Romanov
2010-03-27 06:02:04
+2
A:
I've been happy with
import Debug.Trace
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input)
Mike Klein
2010-10-21 19:50:25