एक परीक्षण लोडर के लिए एक आसान जगह की तरह लगता है।
चेक बाहर http://docs.python.org/library/unittest.html#unittest.TestLoader.loadTestsFromName
आप तो आप शायद अपने परीक्षण नामकरण सम्मेलनों के आधार पर सुइट्स बना सकते हैं कुछ उपयुक्त नामकरण सम्मेलनों प्रदान करते हैं।
यदि मेरे पास एईक्स, लिनक्स (सभी) और 32 बिट विंडोज़ पर परीक्षण ए है, तो परीक्षण बी जो विंडोज 64, लिनक्स 64 और सोलारिस पर चलता है, और टेस्ट सी जो एचपीयूएक्स और टेस्ट डी पर चलता है जो सबकुछ पर चलता है ... इसके लिए क्या नामकरण-सम्मेलन संभव है?
class TestA_AIX_Linux2_Win32(unittest.TestCase):
class TestB_Win64_Linux64_Solaris(unittest.TestCase):
class TestC_AIX_Linux2_Win32_Win64_Linux64_Solaris(unittest.TestCase):
class TestD_All(unittest.TestCase):
कठिन हिस्सा "एचपी/यूएक्स नहीं" है। नकारात्मक तर्क से बचने से आपका जीवन आसान हो जाता है। इस मामले में, आप बस उन सभी ओएस की सूची देते हैं जो एचपी/यूएक्स नहीं हैं। सूची काफी कम है और धीरे-धीरे बढ़ती है।
"सभी" परीक्षण केवल एक अलग पाठ खोज हैं जो एक पूर्ण सूट बनाने के लिए मौजूदा प्लेटफ़ॉर्म की परीक्षणों की सूची के साथ विलय हो गया है।
आप की तरह
class TextC_XHPUX(unittest.TestCase):
कुछ की कोशिश कर सकते आपका पाठ मिलान नियम सामान्य रूप से "_someOSName"
है; आपके अपवाद "_X"
नाम के साथ गड़बड़ करने के लिए एक अजीब पाठ फ़िल्टर होगा।
"हमारे पास ओएस की सकारात्मक सूची नहीं हो सकती है। अगर हम एक नया ओएस जोड़ते हैं तो क्या हमें स्पष्ट रूप से इसे शामिल करने के लिए हर परीक्षण का नाम बदलना होगा?" हाँ। नया ऑपरेटिंग सिस्टम बाजार विकसित होने में धीमा है, यह प्रबंधन के लिए दर्दनाक नहीं है।
विकल्प प्रत्येक वर्ग (यानी, एक वर्ग-स्तरीय फ़ंक्शन) या सजावट के भीतर जानकारी शामिल करना है और एक श्रेणीबद्ध वर्ग लोडर का मूल्यांकन करना है जो क्लास-स्तरीय फ़ंक्शन का मूल्यांकन करता है।
स्रोत
2009-07-29 11:44:31
SkipTest नाक में भी है, बहुत आसान - नो-स्किप विकल्प के साथ। – Almad