मुझे चलाने के लिए मेरे मैवेन एकीकरण परीक्षण कैसे प्राप्त होंगे


170

मेरे पास एक maven2 मल्टी-मॉड्यूल प्रोजेक्ट है और मेरे प्रत्येक बच्चे के मॉड्यूल में मेरे पास JUnit परीक्षण हैं जो क्रमशः नाम Test.javaऔर Integration.javaयूनिट परीक्षणों और एकीकरण परीक्षणों के लिए हैं। जब मैं निष्पादित करता हूं:

mvn test

*Test.javaबाल मॉड्यूल के भीतर सभी JUnit परीक्षण निष्पादित किए जाते हैं। जब मैं अमल करता हूं

mvn test -Dtest=**/*Integration

कोई भी Integration.javaपरीक्षण बाल मॉड्यूल के भीतर निष्पादित नहीं होता है ।

ये मुझे ठीक उसी तरह के आदेश की तरह लगते हैं, लेकिन -Dtest = / * इंटीग्रेशन ** वाला यह काम नहीं करता है जो मूल स्तर पर चलाए जा रहे 0 परीक्षणों को प्रदर्शित करता है, जिनमें कोई परीक्षण नहीं हैं


4
Kief का जवाब स्वीकार किया जाना चाहिए, क्योंकि यह मावेन में एकीकरण परीक्षणों को परिभाषित करने के लिए वर्तमान मानक है।
हेनेनी

जवाबों:


110

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

यहाँ एक उदाहरण है:

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <excludes>
          <exclude>**/*IntegrationTest.java</exclude>
        </excludes>
      </configuration>
      <executions>
        <execution>
          <id>integration-test</id>
          <goals>
            <goal>test</goal>
          </goals>
          <phase>integration-test</phase>
          <configuration>
            <excludes>
              <exclude>none</exclude>
            </excludes>
            <includes>
              <include>**/*IntegrationTest.java</include>
            </includes>
          </configuration>
        </execution>
      </executions>
    </plugin>

1
मैंने इसे कॉन्फ़िगर किया था जैसा कि आपने कहा था और केवल * टेस्ट नहीं * इंटीग्रेशन। Java फाइलें निष्पादित करते समय चलेंगी: mvan इंस्टॉल करें मुझे अपने * Test.java को डिफ़ॉल्ट के रूप में चलाने की आवश्यकता है, लेकिन मेरी नाइटली बिल्ड के लिए मुझे दोनों को चलाने की आवश्यकता है "टेस्ट .java और * एकीकरण। Java। मुझे प्रत्येक सब-चाइल्ड डाइरेक्टरी में mvan इनस्टॉल cd निष्पादित करना है और mvan -Dtest = ** / * इंटीग्रेशन टेस्ट निष्पादित करना है
पीटर डेलाने

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

मेरे लिए, पूर्व-एकीकरण चरण के भाग के रूप में, जेट्टी सर्वर शुरू होता है। अंतिम लॉग लाइन है: [जानकारी] जेट्टी सर्वर शुरू किया। उसके बाद भी कुछ नहीं होता है। यह अटक जाता है। maven अचूक फेलसेफ प्लग इन परीक्षणों को निष्पादित नहीं करता है और न ही जेट्टी सर्वर बंद हो जाता है। किसी भी विचार गलत क्या है? मैं आपके द्वारा निर्दिष्ट समान कॉन्फ़िगरेशन का उपयोग कर रहा हूं।
तरुण कुमार

6
यह उत्तर बहुत पुराना है और इसे अपडेट या हटा दिया जाना चाहिए।
Zac थॉम्पसन

इस एक के साथ कोई मदद? stackoverflow.com/questions/48639730/…
रोहित बरनवाल

250

Maven निर्माण जीवन चक्र अब एकीकरण परीक्षण है, जो "परीक्षण" चरण के दौरान चलाने इकाई परीक्षणों से अलग चलाए जा रहे हैं चलाने के लिए "एकीकरण परीक्षण" चरण भी शामिल है। यह "पैकेज" के बाद चलता है, इसलिए यदि आप "mvan वेरिफाइड", "mvan इंस्टॉल", या "mvan परिनियोजित" चलाते हैं, तो एकीकरण परीक्षण रास्ते में चलाए जाएंगे।

डिफ़ॉल्ट रूप से, एकीकरण परीक्षण नामित परीक्षण कक्षाएं चलाता है **/IT*.java, **/*IT.javaऔर **/*ITCase.javaहै, लेकिन इस विन्यस्त किया जा सकता।

यह सब कैसे करें, इस पर विवरण के लिए, फ़ेलसेफ़ प्लगइन , फ़ेलसेफ़ का उपयोग पृष्ठ (पिछले पृष्ठ से सही तरीके से लिंक नहीं है जैसा कि मैं लिखता हूं) देखें, और इस सोनटाइप ब्लॉग पोस्ट को भी देखें


1
@WillV सही है। कोडहौस का कब्रिस्तान। और मावेन-फ़ेलसेफ़-प्लगइन अब अपाचे में है। माफ़ करना। :)
जिन क्वोन

38
डिफ़ॉल्ट रूप mvn integration-testसे इकाई परीक्षण (अचूक माध्यम से) भी चलाता है, लेकिन mvn failsafe:integration-testकेवल असफल एकीकरण परीक्षण चलाता है।
शैडो मैन

22
अविश्वसनीय रूप से, Failsafe प्लगइन प्रलेखन, उपयोग पृष्ठ और अक्सर पूछे जाने वाले प्रश्न यह उल्लेख नहीं करते हैं कि यह परीक्षण कक्षाएं * * .java, ** / * IT.java, और ** / * ITCase.java ...
Henno Vermulenen

1
यदि यह packageचरण के बाद चलता है , तो इसका मतलब है कि मुझे अपने सभी आईटी जावा स्रोत कोड src/main/javaको src/test/javaअधिकार के बजाय रखना चाहिए ?
ब्रूस सन

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

63

मैंने वही किया है जो आप करना चाहते हैं और यह बहुत अच्छा काम करता है। इकाई परीक्षण "* टेस्ट" हमेशा चलते हैं, और "* इंटीग्रेशनटेस्ट" केवल तब चलाते हैं जब आप एक mvan सत्यापित या mvan इंस्टॉल करते हैं। यहाँ यह मेरे POM से स्निपेट है। serg10 लगभग सही था .... लेकिन काफी नहीं।

  <plugin>
    <!-- Separates the unit tests from the integration tests. -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
       <!-- Skip the default running of this plug-in (or everything is run twice...see below) -->
       <skip>true</skip>
       <!-- Show 100% of the lines from the stack trace (doesn't work) -->
       <trimStackTrace>false</trimStackTrace>
    </configuration>
    <executions>
       <execution>
          <id>unit-tests</id>
          <phase>test</phase>
          <goals>
             <goal>test</goal>
          </goals>
          <configuration>
                <!-- Never skip running the tests when the test phase is invoked -->
                <skip>false</skip>
             <includes>
                   <!-- Include unit tests within integration-test phase. -->
                <include>**/*Tests.java</include>
             </includes>
             <excludes>
               <!-- Exclude integration tests within (unit) test phase. -->
                <exclude>**/*IntegrationTests.java</exclude>
            </excludes>
          </configuration>
       </execution>
       <execution>
          <id>integration-tests</id>
          <phase>integration-test</phase>
          <goals>
             <goal>test</goal>
          </goals>
          <configuration>
            <!-- Never skip running the tests when the integration-test phase is invoked -->
             <skip>false</skip>
             <includes>
               <!-- Include integration tests within integration-test phase. -->
               <include>**/*IntegrationTests.java</include>
             </includes>
          </configuration>
       </execution>
    </executions>
  </plugin>

सौभाग्य!


वास्तव में मैंने क्या करने की कोशिश की, लेकिन मेरे एकीकरण परीक्षण mvan परीक्षण चरण के दौरान चलते रहे, क्योंकि मैंने DEFAULT को SKIP नहीं किया था। मैंने सोचा था कि परीक्षण निष्पादन को कॉन्फ़िगर करना इसे ओवरराइड करेगा। जैसा कि आपने समझाया, यह सिर्फ एक नया निष्पादन जोड़ता है (इस प्रकार सब कुछ दो बार चलेगा)। तो मेरे लिए स्किप ही गायब था। +1 जैसा कि यह कॉन्फ़िगरेशन 100% प्रश्न का उत्तर देता है
निल्स श्मिट

2
फिर इस प्रतिक्रिया के जवाब के लिए बॉक्स की जांच करने के लिए स्वतंत्र महसूस करें!
एचडीव्यू

मेरे लिए, पूर्व-एकीकरण चरण के भाग के रूप में, जेट्टी सर्वर शुरू होता है। अंतिम लॉग लाइन है: [जानकारी] जेट्टी सर्वर शुरू किया। उसके बाद भी कुछ नहीं होता है। यह अटक जाता है। maven अचूक फेलसेफ प्लग इन परीक्षणों को निष्पादित नहीं करता है और न ही जेट्टी सर्वर बंद हो जाता है। किसी भी विचार गलत क्या है? मैं आपके द्वारा निर्दिष्ट समान कॉन्फ़िगरेशन का उपयोग कर रहा हूं।
तरुण कुमार

@ तरुण - अपने मुद्दे पर एक नया प्रश्न पूछें
HDave

2
यह स्वीकृत उत्तर होना चाहिए। संबंधित मावेन लक्ष्य है: clean compile integration-test -Dmaven.test.failure.ignore=false
नील लीमा

31

आप JUnit श्रेणियों और मावेन का उपयोग करके उन्हें बहुत आसानी से विभाजित कर सकते हैं।
यह विभाजन इकाई और एकीकरण परीक्षणों द्वारा बहुत संक्षिप्त रूप से नीचे दिखाया गया है।

एक मार्कर इंटरफ़ेस परिभाषित करें

श्रेणियों का उपयोग करके परीक्षण का समूह बनाने में पहला कदम एक मार्कर इंटरफ़ेस बनाना है।
इस इंटरफ़ेस का उपयोग उन सभी परीक्षणों को चिह्नित करने के लिए किया जाएगा जिन्हें आप एकीकरण परीक्षणों के रूप में चलाना चाहते हैं।

public interface IntegrationTest {}

अपनी परीक्षा कक्षाएं चिह्नित करें

अपनी श्रेणी के शीर्ष पर श्रेणी एनोटेशन जोड़ें। यह आपके नए इंटरफ़ेस का नाम लेता है।

import org.junit.experimental.categories.Category;

@Category(IntegrationTest.class)
public class ExampleIntegrationTest{

    @Test
    public void longRunningServiceTest() throws Exception {
    }

}

मावेन यूनिट टेस्ट कॉन्फ़िगर करें

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

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.11</version>
    <configuration>
        <includes>
            <include>**/*.class</include>
        </includes>
        <excludedGroups>
            com.test.annotation.type.IntegrationTest
        </excludedGroups>
    </configuration>
</plugin>

जब आप ए करते हैं mvn clean test, तो केवल आपकी अचिह्नित इकाई परीक्षण चलेंगे।

मावेन एकीकरण टेस्ट कॉन्फ़िगर करें

फिर इसके लिए विन्यास बहुत सरल है।
हम मानक विफल कैफे प्लगइन का उपयोग करते हैं और इसे केवल एकीकरण परीक्षण चलाने के लिए कॉन्फ़िगर करते हैं।

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <includes>
            <include>**/*.class</include>
        </includes>
        <groups>
            com.test.annotation.type.IntegrationTest
        </groups>
    </configuration>
</plugin>

कॉन्फ़िगरेशन बिल्ड के एकीकरण-परीक्षण चरण के दौरान विफल कैफे प्लगइन को चलाने के लिए एक मानक निष्पादन लक्ष्य का उपयोग करता है।

अब आप कर सकते हैं mvn clean install
इस बार साथ ही साथ यूनिट परीक्षण चल रहे हैं, एकीकरण परीक्षण चरण के दौरान एकीकरण परीक्षण चलाए जाते हैं।


मुझे लगा कि जुनीत के पास मेरे लिए और कोई रहस्य नहीं है। अच्छी जगह!
गर्टास

4
यह केवल तभी काम करता है जब मार्कर इंटरफ़ेस पहले से ही मावेन के लिए उपलब्ध है। यह काम नहीं करता है यदि आपका मार्कर इंटरफ़ेस उसी मल्टी-मॉड्यूल बिल्ड के किसी अन्य मॉड्यूल में मौजूद है।
EngineerBetter_DJ

@EngineerBetter_DJ से आपका क्या तात्पर्य है? आप ऐसा नहीं कर सकते हैं यदि आपके पास मल्टी प्रोजेक्ट आधारित मावेन कॉन्फिगरेशन है?
Matthieusb

16

आपको मावेन फेलसेफ प्लगइन का उपयोग करने का प्रयास करना चाहिए । आप इसे परीक्षणों के एक निश्चित सेट को शामिल करने के लिए कह सकते हैं।


1
+1 यह वही है जो मैं उपयोग करता हूं। अच्छी तरह से काम करता है, और आपको पूर्व / पोस्ट सेटअप करने की अनुमति देता है, जैसे कि एक स्थानीय सर्वलेट कंटेनर को शुरू करना और बंद करना।
mdma


9
कब्रिस्तान पृष्ठ बस कहता है कि failsafeप्लगइन को स्थानांतरित कर दिया गया है maven-failsafe-plugin। ऐसा लगता है कि maven-failsafe-pluginअभी भी सक्रिय है (डॉक्स अंतिम बार मार्च 2014 को धकेल दिया गया था)।
जेम्स किंग्सबेरी

13

डिफ़ॉल्ट रूप से, मावेन केवल उन्हीं परीक्षणों को चलाता है, जिनका परीक्षण कक्षा के नाम में कहीं होता है।

इंटीग्रेशनटेस्ट का नाम बदलें और यह शायद काम करेगा।

वैकल्पिक रूप से आप उस फाइल को शामिल करने के लिए मावेन कॉन्फिगर को बदल सकते हैं, लेकिन यह संभव है कि आपके टेस्टसटेस्ट को नाम दिया जाए।

से Inclusions और टेस्ट मैचों में बहिष्करण :

डिफ़ॉल्ट रूप से, अचूक प्लगइन में स्वचालित रूप से निम्नलिखित वाइल्डकार्ड पैटर्न के साथ सभी परीक्षण कक्षाएं शामिल होंगी:

  • \*\*/Test\*.java - इसके सभी उपनिर्देशिका और सभी जावा फ़ाइलनाम शामिल हैं जो "टेस्ट" से शुरू होते हैं।
  • \*\*/\*Test.java - इसके सभी उपनिर्देशिका और सभी जावा फ़ाइलनाम शामिल हैं जो "टेस्ट" के साथ समाप्त होते हैं।
  • \*\*/\*TestCase.java - इसके सभी उपनिर्देशिका और सभी जावा फ़ाइलनाम शामिल हैं जो "TestCase" के साथ समाप्त होते हैं।

यदि परीक्षण कक्षाएं नामकरण सम्मेलन के साथ नहीं जाती हैं, तो Surefire Plugin को कॉन्फ़िगर करें और उन परीक्षणों को निर्दिष्ट करें जिन्हें आप शामिल करना चाहते हैं।


हाय और धन्यवाद I के दो प्रकार के परीक्षण हैं सामान्य POJO Junit परीक्षण, जिन्हें SomeTest.java कहा जाता है, जिन्हें निकाल दिया जाता है। मेरे पास समथिंगइग्रेशन.जावा नामक एकीकरण परीक्षण भी हैं, जो निकाल नहीं पाते हैं। SomeTest.java को mvn टेस्ट या mvan इंस्टॉल के माध्यम से निकाल दिया जाता है। दूसरा परीक्षण निकाल नहीं है। mvan test -Destest = ** / * एकीकरण
पीटर डेलाने

.. और "मावेन केवल उन परीक्षणों को चलाता है जिनका परीक्षण कक्षा के नाम में कहीं है" आपका मतलब है "मावेन अचूक प्लगइन केवल उन परीक्षणों को चलाता है जिनके पास कक्षा के नाम में कहीं परीक्षण है"।
जोशुआ डेविस

1
इसके "क्लासनेम में कहीं" इसका "क्लास का नाम टेस्ट के साथ समाप्त होता है", उदाहरण के लिए MyTest काम करता है, लेकिन MyTests नहीं करता
जूलियन

10

मावेन के साथ एकीकरण परीक्षण चलाने का एक और तरीका प्रोफ़ाइल सुविधा का उपयोग करना है:

...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <includes>
                    <include>**/*Test.java</include>
                </includes>
                <excludes>
                    <exclude>**/*IntegrationTest.java</exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

<profiles>
    <profile>
        <id>integration-tests</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <includes>
                            <include>**/*IntegrationTest.java</include>
                        </includes>
                        <excludes>
                            <exclude>**/*StagingIntegrationTest.java</exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>
...

चल रहा है 'mvn साफ स्थापित' डिफ़ॉल्ट निर्माण चलेंगे। जैसा कि ऊपर एकीकरण परीक्षण निर्दिष्ट किया गया है, इसे नजरअंदाज कर दिया जाएगा। 'एमवीएन क्लीन इन्स्टॉल-इंटीग्रेशन-टेस्ट्स' चलाने में इंटीग्रेशन टेस्ट्स शामिल होंगे (मैं अपने स्टेजिंग इंटीग्रेशन टेस्ट्स को नजरअंदाज भी करता हूं)। इसके अलावा, मेरे पास एक सीआई सर्वर है जो हर रात मेरा एकीकरण परीक्षण चलाता है और इसके लिए मैं कमांड 'mvan test -P एकीकरण-परीक्षण' जारी करता हूं ।


1
आप एकीकरण-परीक्षण चरण का उपयोग क्यों नहीं करेंगे? इसके बाद प्रोफाइल को विभिन्न ऐप सर्वरों के खिलाफ एकीकरण-परीक्षण जैसी चीजों के लिए इस्तेमाल किया जा सकता है, जैसे कि आर्किलियन करता है। मैं एक मावेन विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि विशेषज्ञ कह सकते हैं कि यह बहुत 'मावेन-वाई' नहीं है।
जोशुआ डेविस

1
@ जोशुआ मुझे लगता है कि मैं इसे इस तरह से करता हूं क्योंकि मेरे एकीकरण परीक्षणों को चलाने में कम से कम 5 मिनट लगते हैं और मैं दिन में कई बार 'एमवीएन क्लीन इंस्टाल' जारी करता हूं क्योंकि मुझे अपनी कलाकृतियों को अपने स्थानीय मावेन रेपो में अपडेट करने की जरूरत है। जो लोग ऊपर कह रहे हैं, उसके अनुसार 'इंस्टॉल' चलाने से एकीकरण-परीक्षण चरण चलेगा, जिससे मुझे कीमती डेवलपर समय खोना पड़ेगा।
जॉर्ज

हम्म ... 'इंटीग्रेशन रनिंग इंटीग्रेशन-टेस्ट' के बारे में निश्चित नहीं है। किसी भी मामले में मैं अभी भी एक प्रोफ़ाइल के बजाय चरण का उपयोग करूंगा। अलग-अलग ऐप सर्वर आदि का समर्थन करने वाली चीजों के लिए प्रोफाइल का बेहतर उपयोग किया जाता है
जोशुआ डेविस

1
मैं आगे जाऊंगा और फिर उसी के साथ खेलूंगा। सलाह के लिए धन्यवाद!
जॉर्ज

@ जॉर्ज मुझे लगता है कि यहाँ उपयोग करने के लिए सही लक्ष्य सत्यापित किया जाएगा, है ना?
Kilokahn

1

आप निर्माण के साथ यूनिट परीक्षणों को चलाने और एकीकरण परीक्षणों को अलग से चलाने के लिए मावेन प्रलेखन का पालन कर सकते हैं ।

<project>
    <properties>
        <skipTests>true</skipTests>
    </properties>
    [...]
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.20.1</version>
                <configuration>
                    <skipITs>${skipTests}</skipITs>
                </configuration>
            </plugin>
        </plugins>
    </build>
    [...]
</project>

यह आपको डिफ़ॉल्ट रूप से अक्षम सभी एकीकरण परीक्षणों के साथ चलने की अनुमति देगा। उन्हें चलाने के लिए, आप इस आदेश का उपयोग करते हैं:

mvn install -DskipTests=false

0

आपको यूनिट परीक्षण चलाने के लिए मावेन अचूक प्लगइन का उपयोग करना चाहिए और एकीकरण परीक्षण चलाने के लिए मावेन फेलसेफ प्लगइन का उपयोग करना चाहिए ।

यदि आप झंडे का उपयोग करके इन परीक्षणों के निष्पादन को टॉगल करना चाहते हैं, तो कृपया नीचे का अनुसरण करें।

मावन विन्यास

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skipTests>${skipUnitTests}</skipTests>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
                <includes>
                    <include>**/*IT.java</include>
                </includes>
                <skipTests>${skipIntegrationTests}</skipTests>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <properties>
            <skipTests>false</skipTests>
            <skipUnitTests>${skipTests}</skipUnitTests>
            <skipIntegrationTests>${skipTests}</skipIntegrationTests>
        </properties>

इसलिए, परीक्षणों को फ़्लैग नियमों के अनुसार छोड़ दिया जाएगा या स्विच किया जाएगा:

टेस्ट को झंडे से नीचे छोड़ा जा सकता है:

  • -DskipTests दोनों यूनिट और एकीकरण परीक्षण को छोड़ देता है
  • -DskipUnitTests यूनिटों की जांच करता है लेकिन एकीकरण परीक्षणों को निष्पादित करता है
  • -DskipIntegrationTests एकीकरण परीक्षण छोड़ देता है लेकिन इकाई परीक्षणों को क्रियान्वित करता है

टेस्ट चल रहे हैं

केवल यूनिट टेस्ट को निष्पादित करने के लिए नीचे चलाएं

mvn clean test

आप परीक्षण चलाने के लिए आदेश के नीचे निष्पादित कर सकते हैं (इकाई और एकीकरण दोनों)

mvn clean verify

केवल एकीकरण टेस्ट चलाने के लिए , का पालन करें

mvn failsafe:integration-test

या इकाई परीक्षण छोड़ें

mvn clean install -DskipUnitTests

इसके अलावा, के दौरान एकीकरण परीक्षण को छोड़ने के लिए mvn install, का पालन करें

mvn clean install -DskipIntegrationTests

आप सभी परीक्षणों का उपयोग कर छोड़ सकते हैं

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