10

QuickCheck 1の機能verboseCheckは、QuickCheck 2にはないようです(少なくとも、見つかりません)。テスト中にどの値が使用されているかを示す他の方法はありますか?

4

5 に答える 5

7

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

このように、任意のインスタンスで簡単に操作でき、インスタンスが生成すると思われるものを確実に生成できます。

于 2010-03-26T22:02:17.560 に答える
4

はい、これはQuickCheck1に関する機能の低下のようです。

ただし、Debug.Trace.traceステートメントを使用してプロパティに注釈を付けることで回避できます。何かのようなもの:

import Debug.Trace

prop_eq xs = traceShow xs $ 
   xs == reverse (reverse xs)
于 2010-03-25T18:01:38.027 に答える
3

私は満足しています

import Debug.Trace
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input)
于 2010-10-21T19:50:25.157 に答える
2

verbose(およびその他のverbose-関数)がバージョン2.4でQuickCheckに戻されたようです

于 2011-06-08T17:48:24.003 に答える
1

ソースを調べたところ、ArgsリファクタリングされたようでconfigEvery、もう存在しないため、QuichCheckソースにパッチを適用せずにすべてのテスト値を印刷することはできません。

于 2010-03-25T16:57:21.250 に答える