Pregunta

La función de verboseCheck QuickCheck 1 parece estar ausente en QuickCheck 2 (o al menos, yo no lo encuentro). ¿Hay alguna otra manera de mostrar los valores que se utiliza durante la prueba?

¿Fue útil?

Solución

se parece verbose (y otras funciones verbose-) fueron devueltos de nuevo a QuickCheck en la versión 2.4

Otros consejos

La función sample también es útil:

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 esta manera, es fácil de jugar con las instancias arbitrarias, y asegurarse de que generan lo que usted piensa que generan.

Sí, esto parece ser una regresión funcionalidad con respecto a QuickCheck 1.

Puede trabajar alrededor de ella mediante anotaciones en las propiedades con una declaración Debug.Trace.trace, sin embargo. Algo así como:

import Debug.Trace

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

He sido feliz con

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

Me tomó un vistazo a las fuentes, y parece que se Args refactorizado, configEvery ya no está allí, y por lo tanto no son capaces de imprimir todos los valores de la prueba sin parchear las fuentes QuichCheck

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top