एक छोटे से वंचित उदाहरण देने के लिए, मान लें कि मैं परीक्षण करना चाहता हूं कि एक फ़ंक्शन दो नंबर लौटाता है, और पहला वाला दूसरे से छोटा है:
def test_length():
result = my_function()
assert len(result) == 2
def test_order()
a, b = my_function()
assert a < b
यहां, अगर test_length
असफल हो गए, तो test_order
भी असफल हो जाएंगे। क्या इसे लिखना test_length
, या इसे छोड़ना सबसे अच्छा अभ्यास है?
EDIT: ध्यान दें कि इस स्थिति में, दोनों परीक्षण ज्यादातर एक दूसरे से स्वतंत्र होते हैं, प्रत्येक को अलगाव में चलाया जा सकता है, या उन्हें रिवर्स ऑर्डर में चलाया जा सकता है, इससे कोई फर्क नहीं पड़ता। इसलिए इनमें से कोई भी पूर्व प्रश्न नहीं है
- मुझे किसी फ़ंक्शन की कार्यक्षमता का परीक्षण कैसे करना चाहिए जो इसमें अन्य कार्यों का उपयोग करता है?
- अगर मुझे पहले से ही एकीकरण परीक्षण है, तो क्या मुझे यूनिट टेस्ट की आवश्यकता है?
- संरचना परीक्षण कैसे करें जहां एक परीक्षण दूसरे परीक्षण का सेटअप है?
- यूनिट परीक्षणों के बीच सफलता की निर्भरता का प्रबंधन कैसे करें
ऊपर वाले का एक डुप्लिकेट है।
A
कॉल B
और समान परिणाम देता है, तो क्या आपको दोनों का परीक्षण करना चाहिए A
और B
"। यह परीक्षण के तहत फ़ंक्शन (एस) के बजाय अतिव्यापी होने के बारे में अधिक है । (हालांकि यह भ्रमित है क्योंकि वे वर्तमान में नामित हैं)।
lambda: type('', (), {'__len__': lambda self: 2})()
पहले पास करेगा, लेकिन दूसरा नहीं।