मैंने पाया कि केवल अचूक परीक्षण को छोड़ना सबसे आसान तरीका है अचूक को कॉन्फ़िगर करना ( लेकिन असफल नहीं ) निम्नानुसार है:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14</version>
<configuration>
<!-- skips surefire tests without skipping failsafe tests.
Property value seems to magically default to false -->
<skipTests>${skip.surefire.tests}</skipTests>
</configuration>
</plugin>
यह आपको चलाने के लिए अनुमति देता है mvn verify -Dskip.surefire.tests
और केवल अचूक, असफल नहीं, परीक्षण छोड़ दिया जाएगा; यह पूर्व-एकीकरण और उत्तर-एकीकरण सहित अन्य सभी आवश्यक चरणों को भी चलाएगा, और verify
लक्ष्य भी चलाएगा जो कि आपके मैवेन बिल्ड को वास्तव में विफल करने के लिए आवश्यक है यदि आपका एकीकरण परीक्षण विफल हो जाता है।
ध्यान दें कि यह निर्दिष्ट करने के लिए उपयोग की गई संपत्ति को फिर से परिभाषित करता है कि परीक्षणों को छोड़ दिया जाना चाहिए, इसलिए यदि आप विहित की आपूर्ति करते हैं -DskipTests=true
, तो अचूकता इसे नजरअंदाज कर देगी, लेकिन असफलता इसे सम्मान देगी, जो अप्रत्याशित हो सकती है, खासकर यदि आपके पास पहले से मौजूद बिल्ड / उपयोगकर्ता इस ध्वज को निर्दिष्ट कर रहे हैं। पोम के अपने सेक्शन में एक साधारण वर्कफ़्लो डिफ़ॉल्ट रूप skip.surefire.tests
से लगता है :skipTests
<properties>
<properties>
<skip.surefire.tests>${skipTests}</skip.surefire.tests>
</properties>
यदि आपको जरूरत है, तो आप एक असुरक्षित पैरामीटर प्रदान कर सकते हैं जिसे skip.failsafe.tests
फेलसेफ के लिए बुलाया जाता है, हालांकि मुझे यह आवश्यक नहीं लगा है - क्योंकि यूनिट परीक्षण आमतौर पर पहले चरण में चलते हैं, और अगर मैं यूनिट परीक्षण चलाना चाहता हूं, लेकिन एकीकरण परीक्षण नहीं, तो मैं दौड़ूंगा test
के बजाय चरण verify
चरण। आपके अनुभव भिन्न हो सकते हैं!
इन skip.(surefire|failsafe).tests
गुणों को निश्चित रूप से अचूक / विफल कोड में एकीकृत किया जाना चाहिए, लेकिन मुझे यकीन नहीं है कि यह "1 बिल्कुल छोटे अंतर को छोड़कर" एक ही प्लगइन का उल्लंघन करेगा।
maven.test.skip
याskipTests
?