2012-09-12 12 views
7

Maven पर एक नौसिखिया सवाल के माध्यम से JUnit परीक्षण चल रहा है - अचूक - ग्रहण - JUnitMaven अचूक तर्क जब ग्रहण

मैं अपने प्रोजेक्ट के पोम फ़ाइल में Maven-अचूक-प्लगइन कॉन्फ़िगर किया है के रूप में कुछ अतिरिक्त JVM तर्क पारित करने के लिए नीचे:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>${maven.surefire.plugin.version}</version> 
      <configuration> 
       <argLine>-d64 -Xms128m -Xmx4096m -XX:PermSize=512m -Duser.timezone=UTC -XX:-UseSplitVerifier</argLine> 
      </configuration> 
     </plugin> 

जब मैं रन जैसे-> JUnit टेस्ट, जैसे कि classpath ठीक से सेट है, अतिरिक्त argLine में निर्दिष्ट तर्क मंगलाचरण में शामिल नहीं हैं ग्रहण से इस परियोजना का एक परीक्षण का मामला चलाते हैं। मुझे प्रासंगिक Debug Configurations के तहत तर्कों में मैन्युअल रूप से जाना होगा। मुझे समझ में नहीं आता कि जुनीट को पता है कि इसे कक्षा के टेस्ट स्कोप के जार को रखने की ज़रूरत है और किसी भी तरह से इसका मतलब है कि ग्रहण में जुनीट उपकरण एम 2 ई के माध्यम से मेवेन से अवगत है? यदि हां, तो हम इसे ArgLine भी पढ़ सकते हैं। मुझे पता है कि यह बहुत विशिष्ट लगता है - लेकिन दूसरों को इसी तरह की स्थितियों में कैसे प्रबंधित किया जाता है?

अग्रिम धन्यवाद!

+0

आप ग्रहण के अंदर लांसर परिभाषा के 'तर्क' टैब में प्रवेश करके जूनिट लॉन्च कॉन्फ़िगरेशन में प्रोग्राम तर्क जोड़ सकते हैं। – HDave

+0

नोट आपको वर्चुअल मशीन और तर्क के लिए तर्क को अलग करने की आवश्यकता है। –

+0

मुझे लगता है कि IntelliJ यह वही करता है जो मैं अपेक्षा करता था। – Kilokahn

उत्तर

9

ग्रहण जुनीट लॉन्चर (Run As -> JUnit Test चुनें) एक स्वतंत्र परीक्षण धावक है जिसका अपना पूर्व परिभाषित निर्माण और जीवन चक्र चल रहा है और इसका मेवेन से कोई लेना-देना नहीं है, यह आपके पोम को जादुई रूप से नहीं उठाएगा और निश्चित रूप से कॉन्फ़िगरेशन कॉन्फ़िगरेशन में पढ़ेगा और परीक्षण चलाने के लिए उन्हें इस्तेमाल करें।

यदि आपकी परियोजना को मौजूदा मेवेन प्रोजेक्ट के रूप में आयात किया गया है, तो मेवेन का उपयोग करें (Run as -> Maven test चुनें) अपना जुनीट परीक्षण लॉन्च करें जो निश्चित रूप से कॉन्फ़िगरेशन कॉन्फ़िगरेशन का उपयोग करेगा और उपयोग करेगा। यह कमांडलाइन से mvn test चलाने जैसा बिल्कुल है, यह केवल कंसोल में आउटपुट रन लॉग है और आप अच्छे लाल & हरे ज्यूनिट यूआई विंडो का उपयोग करने में सक्षम नहीं होंगे।

आशा है कि यह समझ में आता है।

+0

यदि ग्रहण जुनीट एक स्वतंत्र परीक्षण धावक है, तो यह टेस्ट स्कोप के आधार पर कक्षाओं को रखने के लिए जारों को कैसे जानता है? – Kilokahn

+0

आम तौर पर बोलते हुए, यह m2eclipse द्वारा संभाला जाता है। मौजूदा मेवेन प्रोजेक्ट आयात करते समय, यह वास्तव में m2eclipse है जो प्रोजेक्ट सेटअप पर हावी है, यानी ग्रहण मेटाडेटा फ़ाइल उत्पन्न करता है। प्रोजेक्ट और क्लासपाथ, प्रोजेक्ट क्लासपाथ (pom.xml से कारण) भरें और आदि। एक बार परियोजना को आईडीई में सफलतापूर्वक आयात किया गया था, m2eclpise काफी काम किया है। यहां से, यदि आप चाहें, तो आप m2eclipse को शामिल किए बिना अपना काम (कोडिंग/डीबगिंग/परीक्षण) करने के लिए स्वतंत्र हैं। AFAIK, m2eclipse और ग्रहण जुनीट लॉन्चर के बीच कोई संबंध नहीं है। – yorkw

+1

जानकारी के लिए धन्यवाद! फिर अगला चरण यह देखना होगा कि m2eclipse surefire प्लगइन कॉन्फ़िगरेशन के ArgLine को भी पढ़ सकता है और किसी भी तरह से उस प्रोजेक्ट में परीक्षणों की डीबग कॉन्फ़िगरेशन को ArgLine से तर्क प्राप्त करने के लिए, सही है? या यह बहुत ज्यादा पूछ रहा है? :) – Kilokahn

संबंधित मुद्दे