का उपयोग कर सेटअप में वर्तमान परीक्षण का नाम प्राप्त करें मैं वर्तमान में नाक का उपयोग करके कुछ कार्यात्मक परीक्षण लिख रहा हूं। जिस लाइब्रेरी का मैं परीक्षण कर रहा हूं वह एक निर्देशिका संरचना में हेरफेर करता है।नाक
पुनरुत्पादित परिणाम प्राप्त करने के लिए, मैं एक परीक्षण निर्देशिका संरचना का एक टेम्पलेट संग्रहीत करता हूं और परीक्षण निष्पादित करने से पहले इसकी एक प्रति बना देता हूं (मैं परीक्षण setup
फ़ंक्शन के अंदर करता हूं)। यह सुनिश्चित करता है कि परीक्षण की शुरुआत में मेरे पास हमेशा एक अच्छी तरह परिभाषित स्थिति हो। एक परीक्षण में विफल रहता है
- हैं, मैं, निर्देशिका संरचना यह ओवरराइट किया या हटाया जा नहीं करने पर संचालित चाहते हैं ताकि मैं समस्या का विश्लेषण कर सकते हैं:
अब मैं दो और आवश्यकताओं है।
- मैं समानांतर में कई परीक्षण चलाने में सक्षम होना चाहता हूं।
इन दोनों आवश्यकताओं को निष्पादित किए गए प्रत्येक परीक्षण के लिए एक अलग नाम के साथ एक नई प्रति बनाकर हल किया जा सकता है। इस कारण से, मैं परीक्षण के नाम तक पहुंच प्राप्त करना चाहता हूं जिसे वर्तमान में setup
फ़ंक्शन में निष्पादित किया गया है, ताकि मैं प्रतिलिपि को उचित रूप से नाम दे सकूं। क्या इसे प्राप्त करने का कोई तरीका है?
एक उदाहरण कोड उदाहरण:
def setup_func(test_name):
print "Setup of " + test_name
def teardown_func(test_name):
print "Teardown of " + test_name
@with_setup(setup_func, teardown_func)
def test_one():
pass
@with_setup(setup_func, teardown_func)
def test_two():
pass
अपेक्षित उत्पादन:
Setup of test_one
Teardown of test_one
Setup of test_two
Teardown of test_two
एक पैरामीटर के रूप नाम इंजेक्शन सबसे अच्छा समाधान होगा, लेकिन मैं भी अन्य सुझावों के लिए खुला रहा हूँ।
हम्म, धन्यवाद , लेकिन मैं एक समाधान पसंद करूंगा जिसे 'unittest.TestCase' से प्राप्त करने की आवश्यकता नहीं है। –
निश्चित रूप से, इसे मिला। मुझे लगता है कि सजावट के अंदर '__name__' का उपयोग करके आपका समाधान बहुत अच्छा दिखता है। – alecxe
इससे मदद मिली ... धन्यवाद ... –