2009-02-18 9 views
14

स्टैक ओवरफ्लो पर मैं mbunit भर आया हूँ। अपने पृष्ठ पर यह बताता है कि एमब्यूनिट एक जेनरेटिव यूनिट टेस्ट फ्रेमवर्क है, लेकिन मुझे कहीं भी नहीं मिल रहा है जो बताता है कि जेनरेटिव यूनिट टेस्ट फ्रेमवर्क क्या है।जेनरेटिव यूनिट टेस्ट फ्रेमवर्क क्या है?

मैं पाने के लिए उम्मीद कर रहा था:

  • एक परिभाषा क्या एक उत्पादक यूनिट टेस्ट ढांचा है और नहीं है के बारे में लेख के लिए
  • लिंक।

उत्तर

22

एक जनरेटिव परीक्षण ढांचा वह है जहां कोड स्वयं परीक्षण मामलों को उत्पन्न करता है

आम तौर पर आप एक या अधिक मान्यताओं के अनुसार परीक्षण मामलों को उत्पन्न करने के लिए कोड लिखते हैं जिन्हें आप परीक्षण करना चाहते हैं।

मैं mbunit के साथ ही fambiliar नहीं हूँ, लेकिन Clojure उत्पादक परीक्षण ढांचे का उपयोग कर उदाहरण के लिए test.generative आप की तरह परीक्षण लिख सकते हैं:

(defspec integers-closed-over-addition 
    (fn [a b] (+' a b))     ;; input fn 
    [^long a ^long b]      ;; input spec 
    (assert (integer? %)))     ;; 0 or more validator forms 

यह परीक्षण सीधे धारणा आप परीक्षण करना चाहते निर्दिष्ट करता है (यानी कि दो लम्बाई के अतिरिक्त हमेशा एक पूर्णांक में परिणाम)।

महत्वपूर्ण बात यह है कि आपको परीक्षण के लिए विशेष long वैल निर्दिष्ट करने की आवश्यकता नहीं है - ढांचा स्वयं इनपुट के मनमाने ढंग से संयोजन उत्पन्न करेगा और जांच करेगा कि आपके मामले हर मामले में सत्य हैं।

संबंधित मुद्दे