पायथन 2.7 में, मैं यूनीटेस्ट मॉड्यूल का उपयोग करता हूं और परीक्षण लिखता हूं, जबकि उनमें से कुछ @unittest.skip के साथ छोड़ दिए जाते हैं। मेरे कोड इस तरह दिखते हैं:

import unittest

class MyTest(unittest.TestCase):
    def test_1(self):
        ...

    @unittest.skip
    def test_2(self):
        ...

मेरे पास एक फ़ोल्डर में ऐसी बहुत सी परीक्षण फ़ाइलें हैं, और मैं इन सभी परीक्षण फ़ाइलों को चलाने के लिए परीक्षण खोज का उपयोग करता हूं:

/%python_path/python -m unittest discover -s /%my_ut_folder% -p "*_unit_test.py"

इस तरह, फ़ोल्डर में सभी *_unit_test.py फ़ाइलें चलाई जाएंगी। उपरोक्त कोड में, test_1 और test_2 दोनों चलाए जाएंगे। मैं जो चाहता हूं वह है, @unittest.skip के साथ सभी परीक्षण मामले, उदा। मेरे उपरोक्त कोड में test_2 को छोड़ दिया जाना चाहिए। मुझे यह कैसे हासिल होगा?

किसी भी मदद या सुझाव की बहुत सराहना की जाएगी!

1
Rocky.L 30 अक्टूबर 2020, 07:19

1 उत्तर

सबसे बढ़िया उत्तर

@unittest.skip डेकोरेटर में स्ट्रिंग तर्क जोड़ने का प्रयास करें, जैसे कि निम्न में:

import unittest

class TestThings(unittest.TestCase):
    def test_1(self):
        self.assertEqual(1,1)

    @unittest.skip('skipping...')
    def test_2(self):
        self.assertEqual(2,4)

अजगर 2.7 में स्ट्रिंग तर्क के बिना चल रहा है मुझे निम्नलिखित देता है:

.E
======================================================================
ERROR: test_2 (test_test.TestThings)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python2.7/functools.py", line 33, in update_wrapper
    setattr(wrapper, attr, getattr(wrapped, attr))
AttributeError: 'TestThings' object has no attribute '__name__'

----------------------------------------------------------------------
Ran 2 tests in 0.001s

जबकि अजगर 2.7 में पाठ के साथ चल रहा है मुझे देता है:

.s
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK (skipped=1)

देखें https://docs.python.org/3/library/unittest.html या https://www.tutorialspoint.com/unittest_framework/unittest_framework_skip_test.htm अधिक जानकारी के लिए

1
raisin.brannum 30 अक्टूबर 2020, 09:06