verboseCheck в QuickCheck 2?

Функция verboseCheck от QuickCheck 1, кажется, отсутствует в QuickCheck 2 (или по крайней мере, я не могу найти его). Там какой-либо другой путь состоит в том, чтобы показать, какие значения используются во время тестирования?

10
задан Alexey Romanov 25 March 2010 в 16:02
поделиться

3 ответа

Я просмотрел исходники, и кажется, что Args были отредактированы, configEvery больше не существует , и, таким образом, вы не можете распечатать все тестовые значения без исправления исходных кодов QuichCheck

1
ответ дан 3 December 2019 в 21:20
поделиться

Функция sample также полезна:

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

Таким образом, легко поиграться с вашими произвольными экземплярами и убедиться, что они генерировать то, что, по вашему мнению, они производят.

7
ответ дан 3 December 2019 в 21:20
поделиться

Да, похоже, это регресс функциональности по отношению к QuickCheck 1.

Однако вы можете обойти это, аннотировав свои свойства с помощью оператора Debug.Trace.trace. Что-то вроде:

import Debug.Trace

prop_eq xs = traceShow xs $ 
   xs == reverse (reverse xs)
4
ответ дан 3 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: