मैं पाइथन प्रोजेक्ट के परीक्षण सूट को एकजुट से नाक में परिवर्तित कर रहा हूं। प्रोजेक्ट का मौजूदा ढांचा (अवांछित पर आधारित) बल्कि बदमाश है, जिसमें टेस्ट डिस्कवरी और चलने के लिए भारी कस्टमाइज्ड कोड शामिल है, इसलिए मैं सब कुछ और सुव्यवस्थित बनाने के लिए नाक में माइग्रेट करने की कोशिश कर रहा हूं।पायथन नाक परीक्षण विरासत: उप-वर्गों से लोड यूनिट परीक्षण फिक्स्चर
मुझे परीक्षण सूट उत्पन्न करने वाले कोड के साथ समस्याएं आ रही हैं।
परियोजना के ढांचे में परीक्षण चलाने के दो तरीके हैं। एक
class TestSomething(unittest.TestCase):
def setUp(self):
...
def test_x(self):
...
def test_y(self):
...
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestSomething))
जो "सीधा" तरीका है, यह सभी नाक उदाहरण और ट्यूटोरियल दिखाता है, और यह काम करता है। हालांकि, दूसरी तरह से एक परीक्षण वर्ग है कि सभी परीक्षण तर्क होता है परिभाषित, तो विभिन्न उपवर्गों कि अलग अलग सेटअप विन्यास सुपर क्लास से परीक्षण होते हैं और वारिस में परीक्षण मामलों बनाने के द्वारा है:
class TestSomething(unittest.TestCase):
def test_x(self):
...
def test_y(self):
...
class TestCase1(TestSomething):
def setUp(self):
...
class TestCase2(TestSomething):
def setUp(self):
...
suite = unittest.TestSuite()
cases = [TestCase1,TestCase2]
suite.addTests([unittest.makeSuite(case) for case in cases])
यह वही नाक विफल हो जाता है साथ में। यह परीक्षण विधियों को पहले चलाने की कोशिश करता है, जो स्पष्ट रूप से काम नहीं करता है क्योंकि superclass में कोई setUp() नहीं है और test_x() और test_y() में उपयोग किए गए कई चरों को अभी तक परिभाषित नहीं किया गया है।
मुझे इसे कहीं भी किए गए किसी भी उदाहरण नहीं मिला है, और नाक (बल्कि नेविगेट करने के लिए दुर्लभ और मुश्किल) दस्तावेज का उल्लेख यह प्रतीत नहीं होता है। यह नाक के साथ काम करने के लिए कैसे बनाया जा सकता है? किसी भी प्रकार की सहायता सराहनीय होगी।
: चिह्नित करने के लिए कौन सी क्लास एक testcase है और जो एक नहीं है
nose.istest
औरnose.nottest
उपयोग कर सकते हैं चाल चल रही है; वापस देखकर, यह अब बहुत स्पष्ट प्रतीत होता है लेकिन कभी-कभी सबसे स्पष्ट समाधान सबसे अधिक छिपे हुए होते हैं ... युक्तियों के लिए बहुत धन्यवाद! – Boris