QuickCheck 2でverboseCheck?
-
22-09-2019 - |
質問
QuickCheck 1から関数verboseCheck
はQuickCheck 2には存在しないと思われる(または少なくとも、私はそれを見つけることができません)。テスト中に使用されている値表示する他の方法はありますか?
解決
verbose
(および他のverbose
-機能)のように見えますが、バージョン2.4に戻っQuickCheckに返された。
他のヒント
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"
....
この方法では、それはあなたの任意のインスタンスで遊ぶ、と彼らはあなたが彼らが生成する考えを発生させるのは簡単だ。
はい、これはQuickCheck 1に対する機能回帰であると思われる。
ただし、Debug.Trace.trace文であなたの特性に注釈を付けることによってそれを回避することができます。ような何かます:
import Debug.Trace
prop_eq xs = traceShow xs $
xs == reverse (reverse xs)
私はと満足している。
import Debug.Trace
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input)
私はソースを見ていた、そしてそのArgs
をリファクタリングしているようだ、configEvery
はもはや存在しないので、あなたがQuichCheckソースにパッチを適用せずに、すべてのテスト値を印刷することができません。
所属していません StackOverflow