سؤال

الوظيفة verboseCheck من QuickCheck 1 يبدو أنه غائب في QuickCheck 2 (أو على الأقل ، لا يمكنني العثور عليه). هل هناك أي طريقة أخرى لإظهار القيم المستخدمة أثناء الاختبار؟

هل كانت مفيدة؟

المحلول

يشبه verbose (وغيرها verbose- وظائف) أعيد مرة أخرى إلى QuickCheck في الإصدار 2.4

نصائح أخرى

ال 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top