क्विक चेक के माध्यम से परीक्षण किए जाने पर असफल संपत्ति परीक्षण के कारणों को प्रदर्शित करने का सबसे अच्छा अभ्यास क्या है?क्विक चेक के साथ एक असफल परीक्षण संपत्ति का कारण कैसे प्रदर्शित करें?
उदाहरण के लिए विचार करें:
prop a b = res /= []
where
(res, reason) = checkCode a b
फिर एक सत्र दिखाई देगा:
> quickCheck prop
Falsifiable, after 48 tests:
42
23
लेकिन यह डीबगिंग के लिए quickCheck falsifable के हिस्से के रूप विफलता का कारण दिखाने के लिए वास्तव में सुविधाजनक होगा रिपोर्ट।
मैं इसे इस तरह हैक कर लिया है:
prop a b = if res /= [] then traceShow reason False else True
where
(res, reason) = checkCode a b
वहाँ एक बेहतर/अच्छे या अधिक quickcheckish तरह से यह करने के लिए है?
क्या आप एक साधारण उदाहरण दे सकते हैं कि परिणाम को वास्तव में कैसे वापस करना है जैसे कि "कारण" चर (मान लें कि यह कुछ स्ट्रिंग या शो-सक्षम मान है) विफलता के मामले में प्रदर्शित होता है? – maxschlepzig
अद्यतन के लिए धन्यवाद। मुझे http://www.cse.chalmers.se/~rjmh/QuickCheck/manual.html पर भी ठीक किया गया था और अद्यतित और व्यापक मॉड्यूल दस्तावेज़ों में नहीं देखा गया था http://hackage.haskell.org/packages/ संग्रह/क्विक चेक/2.4.0.1/डॉक्टर/एचटीएमएल/टेस्ट-क्विक चेक-प्रॉपर्टी.html - ऐसा लगता है कि 'प्रिंटटेस्टकेस' हालिया जोड़ा है - क्विक चेक 2.1 इसमें शामिल नहीं है। – maxschlepzig