Question

La verboseCheck fonction de QuickCheck 1 semble être absent dans QuickCheck 2 (ou du moins, je ne peux pas le trouver). Est-il une autre façon de montrer que les valeurs sont utilisées lors des essais?

Était-ce utile?

La solution

On dirait verbose (et d'autres fonctions verbose-) ont été retournés à QuickCheck dans la version 2.4

Autres conseils

La fonction sample est également utile:

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"
....

De cette façon, il est facile de jouer avec vos instances arbitraires, et assurez-vous qu'ils génèrent ce que vous pensez qu'ils génèrent.

Oui, cela semble être une régression de fonctionnalité par rapport à QuickCheck 1.

Vous pouvez travailler autour d'elle en annotant vos propriétés avec une instruction Debug.Trace.trace, cependant. Quelque chose comme:

import Debug.Trace

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

Je suis heureux avec

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

J'ai regardé les sources, et il semble que Args ont été remaniée avec, configEvery est plus là, et donc vous n'êtes pas en mesure d'imprimer toutes les valeurs de test sans patcher les sources QuichCheck

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top