दिलचस्प पोस्ट
पिकासो के साथ छवि को पूर्ण चौड़ाई और निश्चित ऊंचाई पर आकार दें HTML5 वीडियो तत्व अनुरोध हमेशा के लिए लंबित रहने पर (क्रोम पर) Dll के लिए .NET फ़्रेमवर्क संस्करण निर्धारित करें क्यों सी # में पूर्णांक विभाजन एक पूर्णांक देता है, लेकिन एक फ्लोट नहीं? AJAX के साथ गतिशील रूप से Google मानचित्र v3 लोड करें मैं Nginx पर FastCGI के साथ गेटवे टाइमआउट को कैसे रोकूं? पांडा के साथ एक 6 जीबी सीएसवी फाइल कैसे पढ़ी जा सकती है सी # "आखिरकार" क्या हमेशा निष्पादित करता है? एक tuple में परिभाषित एक सूची में जोड़ें – यह एक बग है? Hadoop Namenode विफलता प्रक्रिया कैसे काम करता है? TypeScript किसी भी बनाम ऑब्जेक्ट विंडोज में कर्सर के नीचे शब्द कैसे प्राप्त करें? एंकर टैग डाउनलोड विशेषता काम नहीं करते: Chrome में बग 35.0.1916.114 फॉर्म के बिना फ़ाइल अपलोड करें क्या आप अपनी WCF वेब सेवाओं में एन्यूम प्रकार का उपयोग करते हैं?

कमांड लाइन से JUnit परीक्षण के मामलों को चलाने के लिए कैसे?

मैं कमांड लाइन से JUnit परीक्षण के मामलों को चलाने के लिए चाहूँगा मैं यह कैसे कर सकता हूँ?

वेब के समाधान से एकत्रित समाधान "कमांड लाइन से JUnit परीक्षण के मामलों को चलाने के लिए कैसे?"

JUnit 4.X के लिए यह वास्तव में है:

java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name] 

लेकिन अगर आप JUnit 3.X का उपयोग कर रहे हैं तो नोट करें कि क्लास का नाम अलग है:

 java -cp .:/usr/share/java/junit.jar junit.textui.TestRunner [test class name] 

आपको अपने क्लास फाइल्स को क्लासपाथ में और अधिक JARs या निर्देशिकाओं को जोड़ना पड़ सकता है और अलग से अर्धविराम (विंडोज) या कॉलन (यूनिक्स / लिनक्स) के साथ। यह आपके पर्यावरण पर निर्भर करता है

संपादित करें: मैंने एक उदाहरण के रूप में वर्तमान निर्देशिका को जोड़ दिया है। आपके पर्यावरण पर निर्भर करता है और आप अपने आवेदन कैसे बना सकते हैं (बिन / या बिल्ड / या यहां तक ​​कि my_application.jar आदि)। नोट जावा 6+ क्लासपाथ में ग्लोब समर्थन करता है, आप यह कर सकते हैं:

 java -cp lib/*.jar:/usr/share/java/junit.jar ... 

आशा करता हूँ की ये काम करेगा। परीक्षण लिखें! 🙂

जवाब है कि @ लज़ाप ने एक अच्छा समाधान दिया है हालांकि, मैं जोड़ना चाहूंगा कि आपको जोड़ना चाहिए क्लास पथ के लिए, ताकि आपकी वर्तमान निर्देशिका बाहर नहीं छोड़ी जा सकें, परिणामस्वरूप अपनी कक्षाएं समाप्त हो जाएंगी। यह कुछ प्लेटफार्मों पर मेरे साथ हुआ है तो ज्युनिट 4.x के लिए एक अपडेट किया गया संस्करण होगा:

 java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name] 

मावेन मार्ग

अगर आप मेवेन का उपयोग करते हैं, तो आप अपने सभी परीक्षण मामलों को चलाने के लिए निम्न आदेश चला सकते हैं:

 mvn clean test 

या आप नीचे एक विशेष परीक्षा चला सकते हैं

 mvn clean test -Dtest=your.package.TestClassName mvn clean test -Dtest=your.package.TestClassName#particularMethod 

यदि आप लक्ष्य \ surefire-report फ़ोल्डर में फ़ाइलों की रिपोर्ट के बजाय कंसोल में स्टैक ट्रेस (यदि कोई हैं) को देखना चाहते हैं, तो उपयोगकर्ता की संपत्ति surefire.useFile पर सेट करें। उदाहरण के लिए:

 mvn clean test -Dtest=your.package.TestClassName -Dsurefire.useFile=false 

ग्रेडल मार्ग

यदि आप Gradle का उपयोग करते हैं, तो आप अपने सभी परीक्षण मामलों को चलाने के लिए निम्न आदेश चला सकते हैं:

 gradle test 

या आप नीचे एक विशेष परीक्षा चला सकते हैं

 gradle test --tests your.package.TestClassName gradle test --tests your.package.TestClassName.particularMethod 

यदि आप अधिक जानकारी चाहते हैं, तो आप विकल्प जैसे –stacktrace, या –info, या –debug पर विचार कर सकते हैं।

उदाहरण के लिए, जब आप Gradle को जानकारी लॉगिंग स्तर –info के साथ चलाते हैं, तो यह आपको प्रत्येक परीक्षण का नतीजा दिखाएगा, जबकि वह चल रहे हैं। यदि कोई अपवाद नहीं है, तो यह आपको स्टैक ट्रेस दिखाएगा, जिसमें बताया जाएगा कि समस्या क्या है।

 gradle test --info 

यदि आप समग्र परीक्षण के परिणाम देखना चाहते हैं, तो आप ब्राउज़र में रिपोर्ट खोल सकते हैं, उदाहरण के लिए (इसे उबंटू में Google क्रोम का उपयोग करके खोलें):

 google-chrome build/reports/tests/index.html 

चींटी रास्ता

एक बार जब आप अपने एंटी बिल्ड फाइल build.xml को सेट अप कर लें, तो आप नीचे दिए गए कमांड लाइन से अपने JUnit परीक्षण के मामलों को चला सकते हैं:

 ant -f build.xml <Your JUnit test target name> 

आप एंटी बिल्ड फाइल में JUnit परीक्षण को कॉन्फ़िगर करने के तरीके के बारे में अधिक जानने के लिए नीचे दिए गए लिंक का अनुसरण कर सकते हैं: https://ant.apache.org/manual/Tasks/junit.html

सामान्य तरीका

अगर आप मेवेन, या ग्रैडल या चींटी का उपयोग नहीं करते हैं, तो आप निम्न प्रकार का पालन कर सकते हैं:

सबसे पहले, आपको अपने परीक्षण के मामलों को संकलित करना होगा। उदाहरण के लिए (लिनक्स में):

 javac -d /absolute/path/for/compiled/classes -cp /absolute/path/to/junit-4.12.jar /absolute/path/to/TestClassName.java 

फिर अपने परीक्षण के मामलों को चलाने उदाहरण के लिए:

 java -cp /absolute/path/for/compiled/classes:/absolute/path/to/junit-4.12.jar:/absolute/path/to/hamcrest-core-1.3.jar org.junit.runner.JUnitCore your.package.TestClassName 

यह सुनिश्चित करें कि JUnit.jar आपकी कक्षा में है, फिर कंसोल से कमांड लाइन धावक का उपयोग करें

जावा org.junit.runner.JUnitCore [test class name]

संदर्भ: जूनिट अकसर किये गए सवाल

जेयूनिट 4.12 के साथ मेरे लिए निम्न कार्य नहीं किया था:

 java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name] 

जाहिरा तौर पर , hamcrest-core.jar 4.11 से आपको अपने क्लासपाथ में hamcrest-core.jar भी शामिल करना चाहिए:

 java -cp .:/usr/share/java/junit.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore [test class name] 

खिड़कियों में यह है

java -cp .;/path/junit.jar org.junit.runner.JUnitCore TestClass [क्लास एक्सटेंशन के बिना परीक्षण वर्ग के नाम]

उदाहरण के लिए: c:\>java -cp .;f:/libraries/junit-4.8.2 org.junit.runner.JUnitCore TestSample1 TestSample2 ... और इसी तरह, अगर एक में एक से अधिक परीक्षा वर्ग हैं

-सीपी वर्ग पथ के लिए खड़ा है और डॉट (।) मौजूदा वर्गपथ का प्रतिनिधित्व करता है, जबकि अर्ध कोलन (;) कक्षा के अतिरिक्त अतिरिक्त जार को जोड़ता है, जैसा कि उपरोक्त उदाहरण के रूप में जूनिट -4.8.2 अब क्लासपाथ में उपलब्ध है जो कि ज्यूनेटकोर क्लास को निष्पादित करता है यहाँ हम हमारे परीक्षण कक्षाओं को निष्पादित करने के लिए इस्तेमाल किया है।

कमांड लाइन स्टेटमेंट से कमांड प्रोम्प्ट (यानी एमएसडोस) से जुनेट (संस्करण 4+) परीक्षणों को निष्पादित करने में आपकी मदद होती है।

नोट: ज्युटिटकोर जूनिट परीक्षणों को निष्पादित करने के लिए एक मुखौटा है, यह मुखौटा जूनिट के 4+ संस्करणों में शामिल है।

दरअसल, आप जूनिट टेस्ट को एक रननेबल जार बना सकते हैं और रन-एनबल जार को जावा -जर के रूप में कॉल कर सकते हैं

निजी तौर पर मैं मेवेन को यकीन करने के लिए ज्युनिट धावक का इस्तेमाल करूंगा

यदि आपकी प्रोजेक्ट मेवेन-आधारित है तो आप टेस्ट-क्लास कस्टम टेस्ट से सभी परीक्षण-विधियां चला सकते हैं जो कि अगले कमांड का उपयोग करके मॉड्यूल 'मेरी-मॉड्यूल' से संबंधित है:

 mvn clean test -pl :my-module -Dtest=CustomTest 

या केवल 1 टेस्ट-पद्धति का प्रयोग करें- test-class CustomTest से मेरा आदेश अगले कमांड का उपयोग कर:

 mvn clean test -pl :my-module -Dtest=CustomTest#myMethod 

इस क्षमता के लिए आपको मेवेन सॉलिफायर प्लगइन v.2.7.3 + और जून 4 की आवश्यकता है। अधिक जानकारी यहां दी गई है: http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html

वैकल्पिक रूप से आप निम्न विधियों को जूनिटकोर कक्षा http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore.html में उपयोग कर सकते हैं

अपने जावा फ़ाइल से रन (अनुरोध, कक्षा कक्षाएं और धावक) या रन क्लासेस के साथ।

यदि आप प्रोजेक्ट की चींटी आधारित हैं तो आपको कंसोल से ऐसा कुछ करने में सक्षम होना चाहिए:

 ant test 

यदि यह काम नहीं करता है, लेकिन अभी भी आपकी परियोजना की चींटी आधारित है, तो आप प्रोजेक्ट के मुख्य लक्ष्य को सूचीबद्ध करने के लिए ant -p चला सकते हैं।