JUnit 4 टेस्ट सूट


98

मैं JUnit 4 के साथ टेस्ट सूट कैसे बनाऊं?

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


4
ग्रहण 3.7 इंडिगो के साथ, टेस्ट सूट जादूगर अब JUnit 4 का समर्थन करता है
Fabian Steeg

जवाबों:



61

आप जैसे चाहें स्वीट बना सकते हैं। उदाहरण के लिए एक AllTestसूट कुछ इस तरह दिखेगा।

package my.package.tests;

@RunWith(Suite.class)
@SuiteClasses({
    testMyService.class,
    testMyBackend.class,
    ...
})

public class AllTests {}

अब आप इसे कुछ अलग तरीकों से चला सकते हैं:

  1. एक्लिप्स को जूनिट टेस्ट के रूप में राइट-क्लिक करें और चलाएं
  2. एक चल जावा एप्लिकेशन बनाएं; मुख्य वर्ग = 'org.junit.runner.JUnitCore' और Args = 'my.package.tests.AllTests'
  3. कमांड लाइन से चलाएं:

    $ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests

CMDLine के लिए और भी अधिक वोट जोड़ देगा :)
ग्रबर

9

मुझे लगता है कि टेस्टसुइट एहसान से गिर गया है। यह 4.x से पहले की शैली हो सकती है, लेकिन यह अब तक नहीं है जहां तक ​​मैं जानता हूं।

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


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

@duffymo मुझे आपकी टिप्पणी दिलचस्प लगी, क्योंकि मुझे अब तक टेस्टस्किट्स में टेस्टकेस के आयोजन के बारे में विचार के पूर्व 4.x लाइन में प्रशिक्षित किया गया है
वत्सला

6
यदि आपके पास बड़ी संख्या में परीक्षण, विभिन्न कार्यात्मक क्षेत्र / मॉड्यूल हैं, तो 'कोर' और सहायक / धीमी / महंगी गैर-कोर परीक्षणों के बीच एक अंतर - इनमें से किसी भी कारण से - आप टेस्टसुइट में परीक्षणों की संरचना करेंगे।
थॉमस डब्ल्यू

1
आप @SuiteClassकई वर्गों में एनोटेशन का उपयोग कर सकते हैं और आप सूट को सूट कर सकते हैं। 3.x में उन्हें व्यवस्थित करने के लिए विचार की रेखा अभी भी पूरी तरह से वैध है (और इसका इस्तेमाल किया जाना चाहिए)। आप सब कुछ ठीक उसी तरह से संरचना कर सकते हैं जैसा आपने पहले किया था; आप इसके बजाय केवल एनोटेशन सिंटैक्स का उपयोग करते हैं TestSuite.suite()TestSuiteएनोटेशन का उपयोग करने का वास्तव में कोई लाभ नहीं है और यदि आप संगठनात्मक रूप से समकक्ष एनोटेशन का उपयोग करते हैं, तो आप सभी JUnit 4 एन्हांसमेंट का लाभ उठा सकते हैं।
थंडरफोर्ज

3

यहाँ ग्रहण में ज्यूनिट सूट बनाने के लिए चरण दिए गए हैं:

  1. ग्रहण 'जावा' परिप्रेक्ष्य के 'पैकेज एक्सप्लोरर' दृश्य में, ग्रहण जावा परियोजना के अंदर अपने पैकेज में अपनी इकाई परीक्षण (ओं) का चयन करें।
  2. चयनित परीक्षणों में से किसी एक पर राइट-क्लिक करें।
  3. पॉप-अप मेनू में, नया, अन्य चुनें ...
  4. 'Java' फोल्डर खोलें, फिर 'JUnit' फोल्डर खोलें
  5. 'JUnit Test Suite' चुनें और फिर 'अगला' बटन चुनें
  6. बटन चुनें 'समाप्त करें'
  7. परिणाम: 'AllTests.java' सूट फ़ाइल स्वचालित रूप से शामिल परीक्षणों के साथ बनाई गई है
  8. ग्रहण में रन बटन का चयन करें
  9. परिणाम: सुइट रन में सभी परीक्षण
  10. अब आप ANT, जेनकिन्स या अन्य बिल्ड कॉन्फ़िगरेशन निरंतर एकीकरण उपकरण के साथ इस सुइट फ़ाइल को इंगित कर सकते हैं।

संस्करण की जानकारी: यह ग्रहण नियोन और यूनाइट 4 के लिए है। चरण 6 में 'समाप्त' का चयन करने से पहले आप JUnit 3 का चयन भी कर सकते हैं।


क्या आप एक बिल्ड। Xml फ़ाइल दिखा सकते हैं जिसमें दिखाया जा सकता है कि यह परीक्षण सूट ANT से कैसे चलाया जाए?
LiborStefek

1

मेरे सिर के शीर्ष पर एक TestSuite और आह्वान addTests बनाएँ। यदि आप चाहते हैं कि किसी भी तरह के ओपन सोर्स को हाइबरनेट या एपाचे से कुछ करने की कोशिश करें तो टेस्ट सूट के लिए स्रोत के परीक्षण निर्देशिका के तहत एक नज़र डालें ...

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