मुझे तार एकीकरण परीक्षण सूट के ऊपर नाक का उपयोग करने की इच्छा है। हालांकि, इनमें से कुछ परीक्षणों के निष्पादन का आदेश महत्वपूर्ण है।इकाई परीक्षण निष्पादन के आदेश को निर्दिष्ट करने के लिए एक नाक प्लगइन
जिसके अनुसार, मैंने सोचा कि मैं एक साथ एक त्वरित प्लगइन टॉस आदेश के साथ एक परीक्षण को सजाने के लिए चाहते हैं मैं इसे निष्पादित हैं: https://gist.github.com/Redsz/5736166
def Foo(unittest.TestCase):
@step(number=1)
def test_foo(self):
pass
@step(number=2)
def test_boo(self):
pass
की समीक्षा प्लगइन्स मैंने सोचा था में बनाया से, मैं ओवरराइड बस सकता है loadTestsFromTestCase
और सजाया 'कदम संख्या' .:
def loadTestsFromTestCase(self, cls):
"""
Return tests in this test case class. Ordered by the step definitions.
"""
l = loader.TestLoader()
tmp = l.loadTestsFromTestCase(cls)
test_order = []
for test in tmp._tests:
order = test.test._testMethodName
func = getattr(cls, test.test._testMethodName)
if hasattr(func, 'number'):
order = getattr(func, 'number')
test_order.append((test, order))
test_order.sort(key=lambda tup: tup[1])
tmp._tests = (t[0] for t in test_order)
return tmp
इस विधि क्रम मैं इच्छा में परीक्षण लौटा रहा है, लेकिन जब परीक्षण नाक द्वारा क्रियान्वित की जा रही हैं वे इस क्रम में निष्पादित नहीं किया जा रहा है द्वारा परीक्षण का आदेश ?
शायद मुझे किसी अन्य स्थान पर ऑर्डर करने की इस अवधारणा को स्थानांतरित करने की आवश्यकता है?
अद्यतन: मैंने जो टिप्पणी की है, उसके अनुसार प्लगइन वास्तव में अपेक्षित काम कर रहा है। मुझे पिचर्म टेस्ट रिपोर्टर पर भरोसा करने के लिए गलत लगा गया था। परीक्षण अपेक्षित के रूप में चल रहे हैं। मैंने जो सवाल उठाया उसे हटाने के बजाय मैं इसे छोड़ दूंगा।
अच्छा, मुझे लगता है कि इस सवाल को नजरअंदाज कर दिया जा सकता है, प्लगइन अपेक्षित रूप से काम कर रहा है ... मुझे पिचमर से चलते समय एक मस्तिष्क का फट था जहां परीक्षण संवाददाता को अलग-अलग आदेश दिया जा रहा था। हालांकि परीक्षणों को वास्तव में निष्पादन के दौरान अपेक्षित के रूप में आदेश दिया जा रहा है। – Jesse
मैं बहुत अधिक अनुमान नहीं लेना चाहता, क्योंकि मुझे आपका कोड आधार नहीं पता है, लेकिन स्वचालित परीक्षण के साथ मेरे अनुभव के आधार पर, यह बहुत संभावना है कि सर्वोत्तम दीर्घकालिक समाधान आपके परीक्षणों को इस तरह से फिर से आर्किटेक्ट कर रहा है वे अब एक दूसरे पर निर्भरता नहीं रखते हैं। आप सेटअप कार्यों में आवश्यक पूर्व शर्त को दोहराने पर विचार कर सकते हैं, या उन घटनाओं के अनुक्रमों के लिए जो वास्तव में निर्भर हैं, उन्हें एक परीक्षण में विलय कर सकते हैं। यह भी ध्यान रखें कि, एक यूनिट परीक्षण के रूप में, आपको आम तौर पर कार्यक्षमता की व्यक्तिगत "इकाइयों" का परीक्षण करना चाहिए, और जहां भी संभव हो बाहरी आईओ से परहेज करना चाहिए। – GrandOpener