/ / समझ में नहीं आता कि स्प्रिंग बूट मैवेन के साथ एकीकरण परीक्षण कैसे प्रबंधित करता है। यह फेलसेफ प्लगइन का उपयोग करता है या नहीं? - जावा, वसंत, मावेन, वसंत-बूट, एकीकरण-परीक्षण

समझ नहीं आ रहा है कि वसंत बूट कैसे मैवेन के साथ एकीकरण परीक्षण का प्रबंधन करता है। क्या यह असफल प्लगइन का उपयोग करता है या नहीं? - जावा, वसंत, मेवेन, वसंत-बूट, एकीकरण-परीक्षण

मैं यह जानने की कोशिश नहीं कर रहा हूं कि स्प्रिंग बूट एकीकरण परीक्षणों का प्रबंधन कैसे करते हैं।

मूल रूप से, किसी भी परियोजना में एक एकीकरण परीक्षण है, उस के लिए जिम्मेदार प्लगइन maven है सुरक्षा कम होना लगाना। डिफ़ॉल्ट रूप से, यह उन सभी वर्गों को निष्पादित करता है जिनमें प्रत्यय है आईटी। प्रति उदाहरण: MyServiceIT.java.

खैर, यहाँ पहली समस्या है। स्प्रिंग बूट रनिंग इंटीग्रेशन टेस्ट (यहां तक ​​कि आधिकारिक दस्तावेज या स्प्रिंग ब्लॉग में भी) के अधिकांश उदाहरणों में पाया गया कि टेस्ट कक्षाओं में उपसर्ग है परीक्षा। तो, मैं समझता हूं कि वे मावेन द्वारा चलेंगे अचूक प्लगइन, एक एकीकरण परीक्षण के लिए क्या वांछनीय नहीं है।

लेकिन भ्रम खत्म नहीं हुआ है।

वसंत बूट मावेन प्लगइन प्रलेखन फेलसेफ प्लगइन के बारे में कुछ नहीं कहता है यदि उद्देश्य एकीकरण परीक्षण चलाया जाता है। लेकिन, अगर आप उन्हें छोड़ना चाहते हैं, असफल प्लगइन दिखाई देता है दस्तावेज में।

अब के लिए मैं प्रत्यय के साथ maven विफल कैफे प्लगइन का उपयोग कर रहा हूँ आईटी मेरे वसंत बूट एकीकरण परीक्षणों में, अचूक पर उन्हें अनदेखा करना:

<plugin>
<!-- for unit tests -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*IT.java</exclude>
</excludes>
</configuration>
</plugin>

<plugin>
<!--for integrations tests-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<skipITs>${skipITs}</skipITs>
</configuration>
</plugin>

लेकिन एक और सहकर्मी प्रत्यय का उपयोग कर रहे हैं Test अपने स्प्रिंग बूट एकीकरण परीक्षणों में (एक अन्य परियोजना में) और मुझे दावा है कि उपयोग करने के लिए सही प्रत्यय है।

तो ... मैं कुछ गलत कर रहा हूँ? स्प्रिंग बूट से यह "अजीब" सेटअप एकीकरण परीक्षणों के लिए कैसे काम करता है?

¹। सोनार अपना परीक्षण कवरेज प्राप्त करने में सक्षम हैं और मेरे परीक्षण नहीं हैं। हम कोबर्टुरा मावेन प्लगइन का उपयोग कर रहे हैं। मुझे लगता है कि इसका कारण यह है कि उनके परीक्षण अचूक प्लग इन पर चल रहे हैं, लेकिन फेलसेफ प्लगइन से अधिक मुझे pom.xml पर अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता है और, शायद, सोनार पर भी।

उत्तर:

उत्तर № 1 के लिए 1

मुझे नहीं लगता कि आपको असफल-सुरक्षित का उपयोग करने की आवश्यकता हैलगाना। स्प्रिंग-बूट-स्टार्टर-पैरेंट संदर्भ जो स्प्रिंग बूट डॉक्स आपको उपयोग करने के लिए कहता है, उसमें वह सबकुछ है जो कोई भी सोच सकता है कि इसमें किचन सिंक भी शामिल है।

फेलसेफ प्लग-इन एकीकरण परीक्षण करने का एक तरीका है। जो आपके हिस्से पर कुछ मैनुअल कॉन्फ़िगरेशन छोड़ता है।

लेकिन अगर आप वसंत बूट का उपयोग कर रहे हैं तो आपको उपयोग करना चाहिएअंतर्निहित सुविधाएं जो स्प्रिंग बूट के साथ आती हैं। आखिरकार, "स्प्रिंग बूट का उपयोग करने के पूरे बिंदु। वे आपके लिए बहुत कुछ करते हैं। मुझे आपके द्वारा किए गए कारण पर संदेह होगा" बसंत डॉक्स में उल्लिखित विफल-सुरक्षित प्लग-इन के बारे में स्प्रिंग बूट डॉक्स में बहुत कुछ है। वे उम्मीद नहीं करते कि लोग इसका इस्तेमाल करेंगे।

निम्नलिखित ट्यूटोरियल देखें। यह सरल है, लेकिन यह एक अच्छी शुरुआत है:

स्प्रिंग बूट टेस्टिंग पर बाल्डुंग ट्यूटोरियल