unittest में, मैं कर सकते हैं एक कक्षा में और उसके बाद इस वर्ग के तरीकों चुना कर सकते हैं वेरिएबल इसका इस्तेमाल करना चाहता है सेटअप चर ...pytest
class test_class(unittest.TestCase):
def setUp(self):
self.varA = 1
self.varB = 2
self.varC = 3
self.modified_varA = 2
def test_1(self):
do_something_with_self.varA, self.varB
def test_2(self):
do_something_with_self_modified_varA, self.varC
तो unittest में, यह डाल करने के लिए आसान था बनाम unittest एक साथ परीक्षण का गुच्छा जो एक वर्ग के नीचे जा सकता है और फिर विभिन्न विधियों के लिए कई अलग-अलग चर (varA और varB) का उपयोग कर सकता है। pytest में, मैं unittest, इस तरह में एक वर्ग के बजाय conftest.py में एक दृढ़ ...
@pytest.fixture(scope="module")
def input1():
varA = 1
varB = 2
return varA, varB
@pytest.fixture(scope="module")
def input2():
varA = 2
varC = 3
return varA, varC
मैं एक अलग फ़ाइल में इस इनपुट 1 और मेरे कार्यों के लिए इनपुट 2 फ़ीड बनाया (के test_this.py मान लीजिए) दो अलग-अलग कार्यों के लिए। यहां प्रश्न दिए गए उपरोक्त जानकारी के आधार पर ...
के बाद से मैं सिर्फ conftest.py में स्थानीय चर की घोषणा नहीं कर सकते हैं के रूप में मैं बस इस फ़ाइल को आयात नहीं कर सकते हैं। क्या यहां विभिन्न चर घोषित करने का एक बेहतर तरीका है जिसका प्रयोग test_this.py में विभिन्न कार्यों में किया जा सकता है? मेरे पास इन चर के लिए मेरे वास्तविक परीक्षण में पांच अलग-अलग कॉन्फ़िगरेशन हैं, जो conftest.py में कई अलग-अलग फ़िक्स्चर को परिभाषित करते हैं और test_this.py में पांच अलग-अलग कार्यों में फ़ंक्शन तर्क के रूप में उनका उपयोग करते हैं, दर्दनाक लगता है, मैं वापस एकजुट वर्ग संरचना, परिभाषित करने के लिए वापस जाना चाहूंगा मेरे चर और चुनें कि मैं क्या चाहता हूं
क्या मुझे test_this.py में वैश्विक चर घोषित करना चाहिए और जिस तरह से मैं चाहता हूं उसे फ़ंक्शंस में उपयोग करना चाहिए? थोड़ा सा पाइथनिक लगता है। यह चर केवल इस फ़ाइल के कार्यों द्वारा उपयोग किया जाता है।
मान लें कि मेरे पास test_that.py और test_them.py भी है। अगर मेरे पास इन अलग-अलग फ़ाइलों के बीच कुछ साझा चर हैं, तो मैं उन्हें कैसे घोषित करूं? निर्देशिका में केवल एक फ़ाइल calle variables.py बनाएं जहां ये सभी टेस्ट फाइलें हों और जब भी मुझे आवश्यकता हो तो आयात करें? इस तरह से मैं सभी डेटा एक अलग में रख सकता हूं।
क्या यह मेरी धारणा है कि आपके कार्यों को व्यवस्थित करने के लिए कक्षा का उपयोग करके हतोत्साहित किया जाता है? हर उदाहरण मैंने ऑनलाइन पढ़ा है, यह सब केवल फिक्स्चर के साथ कार्यों का गुच्छा नियोजित प्रतीत होता है। वर्ग और विधियों को परिभाषित करने और पाइस्टेस्ट में परीक्षण व्यवस्थित करने की कॉन्फ़िगरेशन क्या है?
मेरे पास एक परीक्षण परिदृश्य है जहां मुझे एक समारोह के दूसरे भाग में उपयोग करना होगा। Pytest के साथ, मेरे पास एक जोर है कि एक समारोह के अंत में एक वापसी नहीं है, इसलिए मैं इस समारोह को एक स्थिरता के रूप में उपयोग करने में सक्षम नहीं होगा। मैं इसे कैसे पूर्ण करूं ? मुझे पता है कि यह एक अच्छा अभ्यास नहीं है कि मेरा एक परीक्षण दूसरे पर निर्भर करता है लेकिन क्या वहां कोई काम है?
आपके उत्तरों के लिए अग्रिम धन्यवाद।
धन्यवाद एक मुट्ठी वांछित कार्यों के साथ कार्य करना गुच्छा, मदद करता है। – LuckyStarr