2010-03-25 16 views
10

क्विक चेक 1 से फ़ंक्शन verboseCheck क्विक चेक 2 में अनुपस्थित प्रतीत होता है (या कम से कम, मुझे यह नहीं मिल रहा है)। क्या यह दिखाने का कोई और तरीका है कि परीक्षण के दौरान कौन से मूल्यों का उपयोग किया जाता है?वर्कबैक क्विक चेक 2 में चेक करें?

उत्तर

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

इस तरह, यह अपने मनमानी उदाहरणों के साथ खेलते हैं, और सुनिश्चित करें कि वे उत्पन्न आप क्या सोचते हैं वे उत्पन्न करने के लिए आसान है।

+1

हाँ, यह उपयोगी है में वापस QuickCheck को लौट रहे थे। –

3

मैं

import Debug.Trace 
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input) 
संबंधित मुद्दे