22

मैंने पढ़ा है मैवेन फेल्सएफ़ प्लगइन विशेष रूप से एकीकरण परीक्षण चलाने के लिए डिज़ाइन किया गया है। वर्तमान में मैं एक बहु-मॉड्यूल प्रोजेक्ट पर काम कर रहा हूं और एकीकरण परीक्षण टेस्टएनजी में लिखे गए अपने अलग मॉड्यूल में हैं और निश्चित प्लगइन का उपयोग करके चलाते हैं। हमारे पास यूनिट परीक्षणों के साथ संघर्ष नहीं हैं क्योंकि उस मॉड्यूल में परीक्षण चरण में केवल एकीकरण परीक्षण चलाए जाते हैं। और परीक्षण से पहले पर्यावरण स्थापित करने के लिए, और परीक्षण चलाने के बाद इसे साफ़ करें, @BeforeSuite @AfterSuite TestNg एनोटेशन का उपयोग किया जाता है। इसलिए प्री-इंटीग्रेशन-टेस्ट चरण, एकीकरण-परीक्षण चरण, फेलसेफ प्लगइन द्वारा उपयोग किए जाने वाले एकीकरण-परीक्षण चरण का उपयोग करने की आवश्यकता नहीं है।मेवेन फ़ेलसेफ प्लगइन के फायदे

  • क्या Failsafe प्लगइन का उपयोग न करके मुझे कोई और लाभ नहीं मिल रहा है?
  • क्या Failsafe प्लगइन का उपयोग करके मेरी वर्तमान आवश्यकता को करने के बेहतर तरीके हैं?
  • क्या मैं अपने सर्वर स्टार्टअप, शट डाउन, फाइल अनजिपिंग इत्यादि कर सकता हूं प्री-इंटीग्रेशन-टेस्ट, पोस्ट-इंटीग्रेशन-टेस्ट चरणों में मैवेन प्लगइन लिखने के बिना?

उत्तर

15

यदि आपके पास पहले से ही अपने सूट में अपना टेस्ट सेटअप/टियरडाउन है, जो आप इसे देखते हैं, तो आप FailSafe प्लगइन से बहुत कुछ हासिल नहीं कर सकते हैं।

विफलता प्लगइन उन परिस्थितियों में उपयोगी है जहां परीक्षण के तहत आपके सिस्टम का सेटअप महंगा है या एक लंबे समय तक लेता है जैसे कि सर्वलेट या वितरित सिस्टम शुरू करना। इन परिस्थितियों में विफलता प्लगइन आसान तरीका है कि आप इस पर्यावरण को pre-integration-test चरण में स्थापित कर सकते हैं। यह प्लगइन भी एक परीक्षण विफल होने पर मेवेन के निष्पादन को रोक नहीं देता है, जो आपको post-integration-test चरण के दौरान अपने सभी कलाकृतियों को साफ करने की अनुमति देता है, जिसके बाद यह आपके परीक्षणों की स्थिति की जांच करता है और पास करता है या तदनुसार निर्माण में विफल रहता है verify चरण।

19

Failsafe में एक बड़ी सुविधा बनाम Surefire है: जब कोई परीक्षण विफल रहता है, तो यह तुरंत निरस्त नहीं होता है। इसके बजाए यह क्लीन-अप कोड चलाता है (जो आमतौर पर जेटी सर्वर को नीचे ले जाता है)।