क्विक चेक 1 से फ़ंक्शन verboseCheck
क्विक चेक 2 में अनुपस्थित प्रतीत होता है (या कम से कम, मुझे यह नहीं मिल रहा है)। क्या यह दिखाने का कोई और तरीका है कि परीक्षण के दौरान कौन से मूल्यों का उपयोग किया जाता है?वर्कबैक क्विक चेक 2 में चेक करें?
10
A
उत्तर
2
के साथ खुश किया गया है ऐसा लगता है कि verbose
(और अन्य verbose
- कार्यों) संस्करण 2.4
1
मैं स्रोतों पर एक नज़र ले लिया, और ऐसा लगता है कि Args
पुनर्संशोधित थे, configEvery
अब वहां नहीं है, और इस तरह आप QuichCheck सूत्रों
4
हाँ, यह हो रहा है पैचिंग के बिना सभी परीक्षण मूल्य मुद्रित करने के लिए सक्षम नहीं हैं क्विक चेक के संबंध में एक कार्यक्षमता प्रतिगमन 1.
हालांकि आप डीबग.Trace.trace कथन के साथ अपनी संपत्तियों को एनोटेट करके इसके आसपास काम कर सकते हैं। कुछ की तरह:
import Debug.Trace
prop_eq xs = traceShow xs $
xs == reverse (reverse xs)
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"
....
इस तरह, यह अपने मनमानी उदाहरणों के साथ खेलते हैं, और सुनिश्चित करें कि वे उत्पन्न आप क्या सोचते हैं वे उत्पन्न करने के लिए आसान है।
3
मैं
import Debug.Trace
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input)
हाँ, यह उपयोगी है में वापस QuickCheck को लौट रहे थे। –