verboseCheck in Quick 2?
-
22-09-2019 - |
Frage
Die Funktion verboseCheck
von Quick Check 1 scheint in Quick Check 2 (oder zumindest, ich kann es nicht finden) fehlen. Gibt es eine andere Art und Weise zu zeigen, welche Werte während des Tests verwendet werden?
Lösung
Sieht aus wie verbose
(und andere verbose
- Funktionen) wurden wieder in Quickcheck in Version 2.4
Andere Tipps
Die sample
Funktion ist auch nützlich:
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"
....
Auf diese Weise ist es einfach, mit Ihren Willkürliche Instanzen zu spielen, und stellen Sie sicher, sie erzeugen, was Sie denken, sie erzeugen.
Ja, das scheint 1 eine Funktionalität Regression in Bezug auf Quick Check zu sein.
Sie können es umgehen, indem Sie Ihre Objekte mit einer Debug.Trace.trace Aussage mit Anmerkungen versehen, jedoch. So etwas wie:
import Debug.Trace
prop_eq xs = traceShow xs $
xs == reverse (reverse xs)
Ich bin glücklich mit
import Debug.Trace
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input)
ich auf Quellen einen Blick nahm, und es scheint, dass Args
Refactoring wurde, configEvery
ist nicht mehr da, und damit sind Sie nicht in der Lage, alle Testwerte zu drucken, ohne QuichCheck Quellen Patchen