Pergunta

A função verboseCheck do QuickCheck 1 parece estar ausente no QuickCheck 2 (ou pelo menos não consigo encontrá-lo).Existe alguma outra maneira de mostrar quais valores são usados ​​durante o teste?

Foi útil?

Solução

Parece verbose (e outro verbose- funções) foram retornados ao QuickCheck na versão 2.4

Outras dicas

O sample função também é ú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"
....

Dessa forma, é fácil brincar com suas instâncias arbitrárias e garantir que elas gerem o que você acha que geram.

Sim, esta parece ser uma regressão de funcionalidade em relação ao QuickCheck 1.

No entanto, você pode contornar isso anotando suas propriedades com uma instrução Debug.Trace.trace.Algo como:

import Debug.Trace

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

Eu estive feliz com

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

Dei uma olhada nas fontes e parece que Args foram refatorados, configEvery não está mais lá e, portanto, você não será capaz de imprimir todos os valores de teste sem corrigir as fontes do QuichCheck

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top