2013-07-15 7 views
8

से स्टैंडअलोन टेस्टएनजी प्रोजेक्ट कैसे चलाएं मेरे पास एक टेस्टएनजी प्रोजेक्ट है। कोई मुख्य वर्ग नहीं है, वर्तमान में यह "रन के रूप में चलाएं" जैसे चल रहा है।जार/बल्ले/

मैं इसे रननेबल जार या जार के रूप में निर्यात करना चाहता हूं ताकि कोई भी कमांड लाइन से कमांड को दबा सके और परीक्षण के मामले चलने लगें।

क्या कोई इस में मेरी सहायता कर सकता है? या रननेबल फॉर्म में कोड वितरित करने के किसी अन्य तरीके का सुझाव दें ...

मैं चींटी या मेवेन का उपयोग नहीं कर रहा हूं।

धन्यवाद

+0

क्या आपको कोई समाधान मिला? मैं भी यहाँ फंस गया हूँ। – Ramnath

+0

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

उत्तर

4

मैं googling के एक बिट के बाद समाधान पाया है लगते हैं। यह ग्रहण (जुनो) में ठीक काम करता है।

कहें, आपके पास 'Test.java' नाम की एक टेस्टएनजी फ़ाइल है। जैसा कि आपने सही तरीके से बताया है, मुख्य विधि के साथ एक कक्षा नहीं होगी। तो, हमें एक ही पैकेज के तहत एक नई जावा क्लास फ़ाइल बनाना है। आइए इसे 'MainOne.java' नाम दें। इसमें मुख्य विधि वाला एक वर्ग होगा।

import com.beust.testng.TestNG; 

public class MainOne { 

    public static void main(String[] args) { 
     TestNG testng = new TestNG(); 
     Class[] classes = new Class[]{Tests.class}; 
     testng.setTestClasses(classes); 
     testng.run(); 

    } 

भागो एक जावा आवेदन के रूप में 'MainOne.java':

यहाँ कोड की जरूरत है। फिर पैकेज पर राइट क्लिक करें -> निर्यात -> रननेबल जार [लॉन्च कॉन्फ़िगरेशन के रूप में 'मेनऑन' चुनें] -> समाप्त करें।

+0

आह, ठीक है पैकेज पर क्लिक करें और इसे मेनू_ में चुनें। एक अनिवार्य संपादक पर काम करने के लिए केवल एक के बजाय एक और सार्वभौमिक समाधान प्रदान करने की देखभाल? या शायद इसे एक विशिष्ट संपादक और संस्करण तक सीमित करें, जैसे "ग्रहण के इस संस्करण पर" या "इंटेलिजे 13 के साथ" या "नेटबीन्स 8 का उपयोग करके" या "जेड डेवलपर 12 के अंदर" ... अन्यथा आपकी जानकारी उस मूल्यवान नहीं है । वे मेनू मेरे वर्तमान संपादक पर दिखाई नहीं दे रहे हैं। शायद यह अतीत में था लेकिन चले गए। या शायद आपके मेनू एक अलग संपादक के लिए थे। – Bryan

+0

मैंने आईडीई नाम और संस्करण को शामिल करने के लिए अपनी प्रतिक्रिया संपादित की है। हालांकि मेरे पास सार्वभौमिक समाधान नहीं है। – Ramnath

1

मेरी वर्तमान समझ यह है कि, टेस्टएनजी की समांतरता से लाभ उठाने के लिए, किसी को ग्रहण आईडीई के बजाय कमांड लाइन से जावा क्लास चलाते समय org.testng की जार फ़ाइल में स्थैतिक मुख्य विधि का उपयोग करना चाहिए।

मुद्दा तब क्लासपाथ बन जाता है, जो परिभाषित करता है कि जावा को सभी जेएआर फाइलें कैसे मिलती हैं। मुझे सबसे उपयोगी होने के लिए http://javarevisited.blogspot.com/2012/10/5-ways-to-add-multiple-jar-to-classpath-java.html मिला क्योंकि इसमें * वाइल्डकार्ड का उल्लेख है --- जब आपको सेलेनम + टेस्टएनजी + कस्टम टेस्ट सूट के लिए आवश्यक सभी जार फ़ाइलों को संदर्भित करने की आवश्यकता होती है तो बहुत उपयोगी होता है।

यह मेरी वर्तमान विंडोज बीएटी फ़ाइल है, और यह काम करता है। ADV.jar में मेरी कस्टम क्लास है लेकिन कोई मुख्य विधि नहीं है। \ Apps \ सेलेनियम \ डाउनलोड किए गए फ़ोल्डर:

setlocal 
set r=d:\Apps\Selenium\ 
cd /d %~dp0 
java -classpath %r%Downloaded\*;%r%MyCompany\ADV.jar; org.testng.TestNG .\testng-customsuite-adv.xml 
pause 

सभी जार फ़ाइलों है कि मैं सार्वजनिक स्थानों से डाउनलोड मेरी घ में चला गया। मैंने अपनी कस्टम ADV.jar फ़ाइल को डी: \ Apps \ सेलेनियम \ MyCompany में अलग रखने के लिए रखा है।

मैंने निर्यात Jar फ़ाइल का उपयोग करके एक्लिप्स से अपनी ADV.jar फ़ाइल बनाई और लापता मुख्य विधि के बारे में चेतावनियों को अनदेखा किया।

इसके अलावा: जबकि यह https://stackoverflow.com/a/16879386/424855 बहुत ही दिलचस्प था, मैं यह समझ नहीं पाया कि यह काम कैसे किया जाए।

0

इसे करने का बेहतर तरीका यहां है।

public static void main(String[] args) { 
    TestListenerAdapter tla = new TestListenerAdapter(); 
    TestNG testng = new TestNG(); 
    testng.setTestClasses(new Class[] { test_start.class }); 
    testng.addListener(tla); 
    testng.run(); 
} 

यहाँ आधिकारिक TestNG वेबसाइट से संदर्भ URL है:

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

जावा एप्लिकेशन के रूप में MainOne.java चलाएं। फिर पैकेज पर राइट क्लिक करें -> निर्यात -> रननेबल जार [लॉन्च कॉन्फ़िगरेशन के रूप में MainOne चुनें] -> समाप्त करें।