2016-08-31 6 views
8

मेरे पास उत्पादक कोड है जो मेरे $HOME फ़ोल्डर में कॉन्फ़िगरेशन फ़ाइलें बनाता है और एक अलग वातावरण में अपने परीक्षण चलाने के लिएconftest.py में पैच करता है। फिर भी मुझे यकीन नहीं है कि यह सामान्य रूप से काम करता है और शायद अविश्वसनीय लिखित परीक्षा कार्य टूट सकता है।पाइस्टेस्ट टेस्ट सूट चलाने पर प्रारंभिक और अंतिम जांच

मेरे परीक्षण सूट की वैधता सुनिश्चित करने के लिए मैं $HOME में संबंधित फ़ाइलों की प्रारंभिक जांच चलाने के लिए चाहता हूं और मैं परीक्षण सूट चलाने के बाद अंतिम जांच करना चाहता हूं।

pytest के "आधिकारिक" माध्यमों के साथ मैं इसे कैसे प्राप्त कर सकता हूं? मेरे पास एक गंदे हैक है जो काम करता है लेकिन रिपोर्टिंग को गड़बड़ कर देता है।

मेरा परीक्षण सूट अभी सही है और यह प्रश्न जिज्ञासा से बाहर है क्योंकि मैं pytest के बारे में अधिक जानना चाहता हूं।


अलावा: वही प्रश्न है, लेकिन विभिन्न उपयोग के मामले: मैं एक 3 पार्टी प्लगइन एक संस्करण requierement fullfills अगर जाँच करना चाहते हैं। यदि ऐसा नहीं है तो मैं एक संदेश दिखाना चाहता हूं और py.test को रोकना चाहता हूं।

+0

क्या आपने अपना परीक्षण चलाने पर '$ HOME' पर्यावरण चर सेट करने का प्रयास किया है? विभिन्न ऑपरेटिंग सिस्टम पर इस परिवर्तन को कैसे करें – Av4t4r

+0

हां, यह वही है जो मैं पहले से ही करता हूं। फिर भी मेरे पास एक गलत परीक्षण कार्य था जिसने इसे बाधित किया और मेरा इरादा एक अतिरिक्त "मेटा" परीक्षण को लागू करना है जो सुनिश्चित करता है कि मेरा परीक्षण सूट स्वयं सही है। मेरा प्रश्न 'pytest' की विशेषताओं के बारे में अधिक जानने के लिए cuorisity से बाहर है। – rocksportrocker

उत्तर

1

क्या आपने सत्र-स्कोप्ड पायटेस्ट फ़िक्स्चर लिखने पर विचार किया है? कुछ की तरह:

@pytest.fixture(scope="session") 
def global_check(request): 
    assert initial_condition 

    def final_check(request): 
     assert final_condition 

    request.addfinalizer(final_check) 

    return request 

यदि आपका अन्य जुड़नार के सभी global_check से विरासत, तो initial_condition और final_condition अपने परीक्षण रन के सभी की शुरुआत में इस बात पर जोर दिया जाएगा अपने परीक्षण रन के अंत में इस बात पर जोर दिया जाएगा।

+1

मैंने इस तरह कुछ करने की कोशिश की लेकिन फिर एक ही संदेश के बजाय असफल परीक्षण कार्यों की एक लंबी सूची के साथ एक रिपोर्ट मिली + शुरुआत में रुको। मैंने इस दृष्टिकोण को 'autotest = True' के साथ बढ़ाया है इसलिए मुझे इस स्थिरता से प्राप्त करने की आवश्यकता नहीं थी। – rocksportrocker

+0

पर्याप्त मेला। यहां एक दिलचस्प दृष्टिकोण है: http://stackoverflow.com/a/9122053/324449 –

संबंधित मुद्दे