टेस्टएनजी
Developer(s) | Cédric Beust, the TestNG team |
---|---|
Stable release | 7.6.1
/ July 4, 2022[1] |
Written in | Java |
Operating system | Cross-platform |
Type | Unit testing tool |
License | Apache License 2.0[2] |
Website | testng |
टेस्टएनजी जावा (प्रोग्रामिंग लैंग्वेज) के लिए परीक्षण सॉफ्टवेयर ढांचा है जो सेड्रिक बेस्ट द्वारा बनाया गया है और Jयूनिट और Nयूनिट से प्रेरित है। टेस्टएनजी का डिज़ाइन लक्ष्य परीक्षण श्रेणियों की विस्तृत श्रृंखला को कवर करना है: इकाई, कार्यात्मक, एंड-टू-एंड, एकीकरण, आदि, अत्यधिक शक्तिशाली और उपयोग में आसान कार्यात्मकताओं के साथ हुआ था।
विशेषताएँ
टेस्टएनजी की मुख्य विशेषताओं में सम्मिलित हैं:
- टिप्पणी समर्थन.
- डेटा-संचालित परीक्षण के लिए समर्थन होता है| डेटा-संचालित/पैरामीटरयुक्त परीक्षण (साथ)होता है।
@data Provider
और एक्सएमएल विन्यास). - एक ही परीक्षण वर्ग के कई उदाहरणों के लिए समर्थन (साथ) होता है।
@Factory
) - लचीला निष्पादन ढाँचा होता है। टेस्टएनजी को अपाचे चींटी द्वारा बिल्ड.एक्सएमएल (परिभाषित परीक्षण सूट के साथ या उसके बिना) के माध्यम से या दृश्य परिणामों के साथ आईडीई प्लगइन द्वारा चलाया जा सकता है। वहाँ कोई नहीं है परीक्षण सूट वर्ग, चूकि परीक्षण सूट, समूह और चलाने के लिए चुने गए परीक्षण एक्सएमएल फ़ाइलों द्वारा परिभाषित और विन्यास किए जाते हैं।
- समवर्ती परीक्षण: उपलब्ध विभिन्न नीतियों के साथ मनमाने ढंग से बड़े सूत्रण पूल में परीक्षण चलाएं (अपने स्वयं के सूत्रण में सभी विधियां, प्रति परीक्षण वर्ग सूत्रण, आदि), और परीक्षण करें कि कोड बहुसूत्रण सुरक्षित है या नहीं।
- अत्यधिक लचीलेपन के लिए बीनशेल को एंबेड करता है।
- रनटाइम और लॉगिंग के लिए डिफ़ॉल्ट जावा डेवलपमेंट किट फ़ंक्शन (कोई निर्भरता नहीं) होता है।
- आवेदन सर्वर परीक्षण के लिए निर्भर तरीके से होता है।[clarification needed]
- वितरित परीक्षण: स्लेव मशीनों पर परीक्षणों के वितरण की अनुमति देता है।
डेटा प्रदाता
टेस्टएनजी में एक डेटा प्रदाता परीक्षण वर्ग में विधि है, जो निर्भर परीक्षण विधियों के लिए विभिन्न वास्तविक मूल्यों की श्रृंखला प्रदान करता है।
उदाहरण:
//This method will provide data to any test method that declares that its Data Provider is named "provider1".
@DataProvider(name = "provider1")
public Object[][] createData1() {
return new Object[][] {
{ "Cedric", new Integer(36) },
{ "Anne", new Integer(37) }
};
}
// This test method declares that its data should be supplied by the Data Provider named "provider1".
@Test(dataProvider = "provider1")
public void verifyData1(String n1, Integer n2) {
System.out.println(n1 + " " + n2);
}
// A data provider which returns an iterator of parameter arrays.
@DataProvider(name = "provider2")
public Iterator<Object[]> createData() {
return new MyIterator(...);
}
// A data provider with an argument of the type java.lang.reflect.Method.
// It is particularly useful when several test methods use the same
// provider and you want it to return different values depending on
// which test method it is serving.
@DataProvider(name = "provider3")
public Object[][] createData(Method m) {
System.out.println(m.getName());
return new Object[][] { new Object[] { "Cedric" } };
}
डेटा प्रदाता का लौटाया गया प्रकार निम्नलिखित दो प्रकारों में से हो सकता है:
- वस्तुओं की सारणी की एक सारणी (
Object[][]
) जहां पहले आयाम का आकार परीक्षण विधि को क्रियान्वित करने की संख्या है और दूसरे आयाम के आकार में वस्तुओं की श्रृंखला होती है जो परीक्षण विधि के पैरामीटर प्रकारों के साथ संगत होनी चाहिए थी। - एक
Iterator<Object[]>
. फर्क सिर्फ इतना हैObject[][]
क्या यह कि इटेटर आपको अपना परीक्षण डेटा आराम से बनाने की सुविधा देता है। टेस्टएनजी एक-एक करके इस पुनरावर्तक द्वारा लौटाए गए मापदंडों के साथ पुनरावर्तक और फिर परीक्षण विधि को क्रियान्वित करता है। यह विशेष रूप से उपयोगी है यदि आपके पास विधि को पास करने के लिए बहुत सारे पैरामीटर समुच्चय हैं और आप उन सभी को पहले से नहीं बनाना चाहते हैं।
उपकरण समर्थन
टेस्टएनजी तीन प्रमुख जावा आईडीई - ग्रहण (सॉफ्टवेयर) , मैं विचार समझता हूं और नेटबीन्स में से प्रत्येक द्वारा,बाहर-का-यह-डब्बा या प्लग-इन के माध्यम से समर्थित है। यह अपाचे चींटी के लिए रिवाज़ कार्य के साथ आता है और अपाचे मावेन बिल्ड सिस्टम द्वारा समर्थित है। हडसन (सॉफ़्टवेयर) निरंतर एकीकरण सर्वर में टेस्टएनजी के लिए अंतर्निहित समर्थन है और यह समय के साथ परीक्षण परिणामों को ट्रैक और चार्ट करने में सक्षम होता है। अधिकांश जावा कोड आवृत क्षेत्र उपकरण, जैसे छत, टेस्टएनजी के साथ निर्बाध रूप से काम करते हैं।
नोट: ग्रहण के लिए टेस्टएनजी समर्थन केवल 2018-09 (4.9) तक के ग्रहण संस्करणों के लिए ग्रहण विपणन स्थान में अंतर्निहित होता है। ग्रहण के बाद के संस्करणों के लिए, टेस्टएनजी को टेस्टएनजी साइट के निर्देशों के अनुसार नियमावली रूप से स्थापित किया जाना चाहिए था।[3]
रिपोर्टिंग
टेस्टएनजी एचटीएमएल और एक्सएमएल स्वरूपों में परीक्षण रिपोर्ट तैयार करता है। एक्सएमएल आउटपुट को चींटी Jयूनिट रिपोर्ट कार्य द्वारा रूपांतरित किया जा सकता है[4] Jयूनिट का उपयोग करते समय प्राप्त रिपोर्टों के समान रिपोर्ट तैयार करना होता है। संस्करण 4.6 के बाद से, परीक्षणएनजी एक रिपोर्टर एपीआई भी प्रदान करता है[5] जो तीसरे पक्ष के रिपोर्ट जेनरेटर की अनुमति देता है, जैसे कि रिपोर्टएनजी,[6]
पिडीएफएनजी रिपोर्ट[7] और टेस्टएनजी-एक्सएसएलटी,[8] इस्तेमाल किया जाता है।
जुनीट के साथ तुलना
टेस्टएनजी की एक अन्य परीक्षण उपकरण Jयूनिट के साथ लंबे समय से प्रतिद्वंद्विता होते है। प्रत्येक ढांचे में अंतर और संबंधित फायदे होते हैं। स्टैक ओवरफ़्लो चर्चाएँ इस विवाद को दर्शाती हैं।[9][10][11]
टिप्पणियाँ
Jयूनिट 5 में, अधिकांश परिस्थितियों में @सबसे पहले और @सब के बाद तरीकों को स्थिर घोषित करना होता है ।[12] टेस्टएनजी में यह बाधा नहीं होता है।
टेस्टएनजी में परीक्षण सूट और समूहों के लिए चार अतिरिक्त सेटअप/टियरडाउन टिप्पणी जोड़े सम्मिलित होता हैं: @सूट से पहले , @सूट के बाद, @परीक्षण से पहले, @परीक्षण के बाद, @ समूह से पहले और @ समूह के बाद, @विधि से पहले और @विधि के बाद।
टेस्टएनजी सेलेनियम का उपयोग करके किसी आवेदन के परीक्षण को स्वचालित करने के लिए भी सहायता प्रदान करता है।
पैरामीटरीकृत परीक्षण
पैरामीटरयुक्त परीक्षण दोनों उपकरणों में क्रियान्वित किया जाता है, लेकिन काफी अलग तरीकों से होता है।
टेस्टएनजी के पास परीक्षण विधि में अलग-अलग पैरामीटर मान प्रदान करने के दो तरीके हैं: टेस्टएनजी.एक्सएमएल समुच्चय करके,और @डेटा प्रदाता विधि को परिभाषित करके।[13]
Jयूनिट 5 में, @पैरामीटरयुक्त परीक्षण टिप्पणी पैरामीटरयुक्त परीक्षण की अनुमति देता है। इस टिप्पणी को एक अन्य टिप्पणी के साथ जोड़ा गया है जो पैरामीटरयुक्त तर्कों के स्रोत की घोषणा करता है, जैसे @मूल्य स्रोत या @प्रगणित स्रोत। @तर्क स्रोत का उपयोग करने से उपयोगकर्ता को अत्यधिक गतिशीलता क्रियान्वित करने की अनुमति मिलती है तर्क प्रदाता.[14] Jयूनिट 4 में, @साथ चलना और @पैरामीटर का उपयोग पैरामीटरयुक्त परीक्षणों को सुविधाजनक बनाने के लिए किया जाता है, जहां @पैरामीटर विधि को वापस लौटना होता है List[]
पैरामीटरयुक्त मानों के साथ, जिसे परीक्षण वर्ग निर्माता में प्रति किया जाता है।
निष्कर्ष
विभिन्न उपयोगकर्ता अधिकांशतः ढांचे या किसी अन्य की कुछ विशेषताओं को पसंद करते हैं। Jयूनिट अत्यधिक व्यापक रूप से लोकप्रिय है और अधिकांशतः न्यूनता रूप से मुख्यधारा आईडीई के साथ भेजा जाता है। टेस्टएनजी विभिन्न प्रकार के परीक्षण के लिए अतिरिक्त विन्यास विकल्पों और क्षमता के लिए जाना जाता है। कौन सा अत्यधिक उपयुक्त है यह उपयोग के संदर्भ और आवश्यकताओं पर निर्भर करता है।
यह भी देखें
- यूनिट परीक्षण ढाँचे की सूची
- जुनिट
- xयूनिट
संदर्भ
- ↑ | Project GitHub releases page
- ↑ "Apache License Version 2.0". January 2004. Archived from the original on 2013-12-21.
- ↑ "TestNG for Eclipse".
- ↑ JUnitReport Archived 2010-02-24 at the Wayback Machine
- ↑ "Announcing TestNG 4.6". Archived from the original on 2010-12-12. Retrieved 2010-03-04.
- ↑ ReportNG 1.0 Final Released
- ↑ PDFngreport 1.0.0
- ↑ TestNG XSL Reports
- ↑ "जूनिट बनाम टेस्टएनजी". stackoverflow.com.
- ↑ "जुनीट बनाम टेस्टएनजी". stackoverflow.com. Archived from the original on 2014-02-02.
- ↑ "Which UnitTest framework to learn for Java now?". stackoverflow.com.
- ↑ "लेखन परीक्षण - टिप्पणियाँ". junit.org.
- ↑ "What is TestNG?". qacreators.com.
- ↑ "JUnit 5 User Guide". junit.org.