ich einen Quick Check Eigenschaft haben, die wie folgt aussieht:Quick Check-Werte gleich
prop42 :: Foo -> Bool
prop42 foo = fn1 foo == fn2 foo
Wenn diese Eigenschaft fehlschlägt, wird es ausdrucken, was foo
war. Aber ich würde gerne wissen, was fn1
und fn2
zurückgegeben. Und wenn foo
groß ist, ist es irgendwie nicht trivial, diese Information von Hand zu erzeugen. (Ie, sitzen Sie dort und geben Sie den riesigen Textkeil in das Windows-Konsolenfenster ein.)
Es ist üblich, Frameworks zu testen, die eine Gleichheitsprüfung haben, und beide Werte ausgibt, wenn die Gleichheit nicht funktioniert halt. Aber ich kann eine solche Funktion für QuickCheck nicht finden ...
Dies ist _much_ netter als der Hack, den ich versuchte zu verwenden ... – MathematicalOrchid
Dies funktioniert aber veraltet. Stattdessen kann die Verwendung von '===' ausreichen; es [druckt beide Seiten, wenn der Vergleich fehlschlägt] (http://hackage.haskell.org/package/QuickCheck-2.7.3/docs/Test-QuickCheck-Property.html#v:-61--61--61-) . – 9000