Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कौन सा मावेन चरण हमेशा परीक्षण चरण के बाद निष्पादित किया जाएगा?

Maven जीवनचक्र जो प्री और पोस्ट टेस्ट से मेल खाती है। ऐसा इसलिए है क्योंकि यूनिट परीक्षणों के लिए बाहरी वातावरण की आवश्यकता नहीं होती है। ऐसा लगता है कि आप जो करना चाहते हैं वह इकाई परीक्षण नहीं बल्कि एकीकरण परीक्षण है, क्योंकि उन्हें स्थापित करने के लिए एक वातावरण की आवश्यकता होती है।

दस्तावेज़ से :

और एक pre-integration-test है , integration-test और post-integration-test जिनका उपयोग परीक्षण वातावरण को सेटअप, चलाने और नष्ट करने के लिए किया जाता है।

इस प्रकार, integration-test . में ऐसा करना आसान और अधिक साफ-सुथरा होगा चरण maven-failsafe-plugin का उपयोग करके

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

और, यदि आप वास्तव में इसे test . में इकाई परीक्षण के रूप में चलाना चाहते हैं चरण, और अपने प्लगइन का उपयोग करके, आपको maven-surefire-plugin के डिफ़ॉल्ट निष्पादन को छोड़ना होगा और फिर डेटाबेस बनाने वाले अपने मावेन प्लगइन के निष्पादन को परिभाषित करें, maven-surefire-plugin का एक नया निष्पादन और डेटाबेस को छोड़ने वाले आपके मावेन प्लगइन का निष्पादन, test . के लिए बाध्य है चरण।

यह काम करता है क्योंकि मावेन के क्रम में प्लगइन्स को इनवाइट करता है वे पोम में परिभाषित हैं जब वे एक ही चरण के लिए बाध्य हों।

एक विन्यास इस तरह दिखेगा:

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.19.1</version>
  <executions>
    <execution>
      <id>default-test</id>
      <configuration>
        <skip>true</skip>
      </configuration>
    </execution>
  </executions>
</plugin>
<plugin>
  <groupId><!-- group id of your plugin --></groupId>
  <artifactId><!-- artifact id of your plugin --></artifactId>
  <version><!-- version --></version>
  <executions>
    <execution>
      <id>create-db</id>
      <phase>test</phase>
      <goals>
        <goal><!-- your goal --></goal>
      </goals>
      <!-- add configuration -->
    </execution>
  </executions>
</plugin>
<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.19.1</version>
  <executions>
    <execution>
      <id>test</id>
      <phase>test</phase>
      <goals>
        <goal>test</goal>
      </goals>
    </execution>
  </executions>
</plugin>
<plugin>
  <groupId><!-- group id of your plugin --></groupId>
  <artifactId><!-- artifact id of your plugin --></artifactId>
  <version><!-- version --></version>
  <executions>
    <execution>
      <id>drop-db</id>
      <phase>test</phase>
      <goals>
        <goal><!-- your goal --></goal>
      </goals>
      <!-- add configuration -->
    </execution>
  </executions>
</plugin>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql ओल्डब ड्राइवर

  2. PHP में MySql और MySqli के बीच अंतर

  3. एंड्रॉइड से PHP वेब सेवा में मूल्य कैसे पास करें और इसे पुनर्प्राप्त करें?

  4. डेटाबेस में सभी पंक्तियों को हैश मान के साथ अपडेट करें

  5. MYSQL में UserID + INNER JOIN के बजाय पर्यवेक्षक का नाम कैसे प्राप्त करें