इस बड़े पैमाने पर परीक्षणों का एक बड़ा हिस्सा अमरूद संग्रह कार्यान्वयन के लिए है। उन्होंने जेनेरिक परीक्षण लिखे हैं जो संग्रह इंटरफेस को पूरी तरह से परखते हैं, और यह कार्यान्वयन के लिए एक सूट उत्पन्न करता है। उदाहरण के लिए, कहा जाता कक्षाओं के लिए देखें, CollectionAddAllTester, ListIndexOfTester।
यह सब एक पुस्तकालय द्वारा समर्थित है जिसे टेस्टलिब कहा जाता है, जो अमरूद के हिस्से के रूप में जहाज करता है। यह काफी सामान्य है। यह किसी भी इंटरफ़ेस (न केवल संग्रह) के लिए सामान्य परीक्षण लिखने का समर्थन करता है। आप Featureसंभावित कार्यान्वयन को निर्दिष्ट कर सकते हैं और उन का परीक्षण कर सकते हैं (जैसे कि यदि आपका सेट असम्बद्ध है, तो आप इससे भिन्न परिणाम की अपेक्षा करते हैं set.add()), और जब आप परीक्षण चलाते हैं तो आप निर्दिष्ट करते हैं कि आपके कार्यान्वयन का समर्थन कौन करता है।
यह JUnit 3 पर आधारित है। 4 नहीं। आम तौर पर, आपके पास TestCaseनामित तरीकों से भरा एक वर्ग है testSomething(), और JUnit उन्हें प्रतिबिंबित रूप से चलाता है। टेस्टलिब लाइब्रेरी इन परीक्षणों के चलने में हुक करती है ताकि जीवनचक्र इस तरह दिखे:
- प्रत्येक कार्यान्वयन के लिए आप परीक्षण करना चाहते हैं
- प्रत्येक (लागू) परीक्षण विधि के लिए
TestCaseउदाहरण बनाएँ
- इनिशियलाइज़
TestSubjectGenerator- यह टेस्टलिब इंटरफ़ेस है जिसे आप विस्तारित करते हैं जहां आप वास्तव में टेस्ट विषय बनाते हैं
- चिंतनपूर्वक परीक्षण विधि चलाएं। इस पद्धति के दौरान,
getSubjectGenerator()परीक्षण विषय तक पहुंच देता है
कुंजी बिट अतिरिक्त प्रारंभिक चरण है जो उन्हें जेनेरिक परीक्षण मामले में एक विशिष्ट परीक्षण विषय को इंजेक्ट करने की अनुमति देता है।
मैंने अपने स्वयं के इंटरफेस के लिए टेस्टीब जनरेटिंग स्वीट्स लिखने के तरीके पर एक पोस्ट लिखा था ।
( Sqa साइट पर भी इसी सवाल पर पोस्ट किया गया ।)