कुछ असफल होने पर भी मावेन सभी परीक्षण चलाते हैं


243

मेरे पास कई मॉड्यूल के साथ एक परियोजना है। जब सभी परीक्षण पास हो जाते हैं, मावेन परीक्षण उन सभी को चलाता है।

जब परीक्षण पहले मॉड्यूल में विफल हो जाते हैं, तो अगले प्रोजेक्ट के लिए मावेन जारी नहीं रहेगा। मेरे पास TestFailureIgnore है, जो अचूक सेटिंग में सही है, लेकिन यह मदद नहीं करता है।

मैं मावेन को सभी परीक्षण कैसे चलाऊं?


मावेन-अचूक-प्लगइन का क्या संस्करण?
पास्कल थिवेंट

जवाबों:


359

से Maven embedder प्रलेखन :

-fae, --fail-at-end केवल बाद में निर्माण विफल; सभी गैर-प्रभावित बिल्ड जारी रखने की अनुमति दें

-fn, --fail-never भले ही परियोजना के परिणाम की परवाह किए बिना, निर्माण में विफल हो

इसलिए यदि आप एक मॉड्यूल का परीक्षण कर रहे हैं तो आप सुरक्षित हैं -fae

अन्यथा, यदि आपके पास कई मॉड्यूल हैं, और यदि आप चाहते हैं कि सभी का परीक्षण किया जाए (यहां तक ​​कि वे जो असफल परीक्षण मॉड्यूल पर निर्भर करते हैं), तो आपको चलना चाहिए mvn clean install -fn
-faeउस मॉड्यूल के साथ जारी रहेगा जिसका असफल परीक्षण है (अन्य सभी परीक्षण चलाएगा), लेकिन उस पर निर्भर सभी मॉड्यूल को छोड़ दिया जाएगा।


1
इसके अतिरिक्त आप कुछ त्रुटि जानकारी प्रदान करने के लिए cmd के लिए -E जोड़ सकते हैं।
despot

11
मैंने सिर्फ विकल्प का परीक्षण किया --fail-never। यदि संकलन में त्रुटियां हैं, तो भी मावेन बिल्ड को विफल नहीं करेगा। यदि मैं जेनकिन्स पर इस विकल्प का उपयोग करता हूं, तो बिल्ड सफल होता है, भले ही इसमें ढेर सारी त्रुटियां हों। मैं -Dmaven.test.failure.ignore=trueइस मामले में पसंद करता हूं और जेनकिंस को अचूक रिपोर्टों का विश्लेषण करने देता हूं ।
फूफे 5

@wlnirvana मैंने अभी इस लिंक के साथ पोस्ट को संपादित किया है (ताकि आपकी टिप्पणी को हटाने के लिए स्वतंत्र महसूस हो ...)
स्टीव चेम्बर्स

93

मुझे बस "-फाए" पैरामीटर मिला, जिसके कारण मावेन को सभी परीक्षण चलाने पड़े और असफलता पर रोक नहीं लगी।


3
अफसोस की बात है, यह पैरामीटर तब काम नहीं करता है जब मैं इसे TeamCity को पास करता हूं।
ripper234

4
एक बहु-मॉड्यूल परियोजना में, मॉड्यूल जो परीक्षण विफल रहे मॉड्यूल पर निर्भर करते हैं, उन्हें छोड़ दिया जाएगा। इसके बजाय -fn का उपयोग करें।
हिपोकिटो

2
@ ripper234 क्या आपको टीमसिटी पर काम करने का कोई तरीका मिला?
जेरीड्रिक डेमास

86

क्या आप अचूक 2.6 के साथ परीक्षण कर सकते हैं और या तो अचूक से कॉन्फ़िगर कर सकते हैं testFailureIgnore=true। या कमांड लाइन पर:

mvn install -Dmaven.test.failure.ignore=true

16
IIRC में पूरे परीक्षण को चलाने और अंत में विफल होने के बजाय पूरे बिल्ड के विफल होने का प्रभाव है।
ओन्ड्रा kaइस्का

1
यह एकमात्र विकल्प है जो मेरे लिए काम करता है ... "-फाए" विकल्प ने परीक्षण विफलताओं पर कुछ नहीं किया
योय

38

जड़ परियोजना के अपने pom.xml में अचूक प्लगइन के लिए निम्नलिखित विन्यास को जोड़ने का प्रयास करें :

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <testFailureIgnore>true</testFailureIgnore>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

17

एक त्वरित जवाब:

mvn -fn test

नेस्टेड प्रोजेक्ट के साथ काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.