टेस्टएनजी: Difference between revisions

From Vigyanwiki
(Created page with "{{Infobox software | name = TestNG | logo = | screenshot = | caption = | developer = Cédric Beust, the TestNG team | latest release version = 7.6.1 | latest release date =...")
 
No edit summary
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Infobox software
{{Infobox software
| name = TestNG
| name = टेस्टएनजी
| logo =  
| logo =  
| screenshot =  
| screenshot =  
Line 14: Line 14:
}}
}}


TestNG [[जावा (प्रोग्रामिंग भाषा)]] के लिए एक परीक्षण [[सॉफ्टवेयर ढांचा]] है जो सेड्रिक बेस्ट द्वारा बनाया गया है और [[JUnit]] और [[NUnit]] से प्रेरित है। TestNG का डिज़ाइन लक्ष्य परीक्षण श्रेणियों की एक विस्तृत श्रृंखला को कवर करना है: इकाई, कार्यात्मक, एंड-टू-एंड, एकीकरण, आदि, अधिक शक्तिशाली और उपयोग में आसान कार्यात्मकताओं के साथ।
'''टेस्टएनजी''' [[जावा (प्रोग्रामिंग भाषा)|जावा (प्रोग्रामिंग लैंग्वेज)]] के लिए परीक्षण [[सॉफ्टवेयर ढांचा]] है जो सेड्रिक बेस्ट द्वारा बनाया गया है और [[JUnit|Jयूनिट]] और [[NUnit|Nयूनिट]] से प्रेरित है। टेस्टएनजी का डिज़ाइन लक्ष्य परीक्षण श्रेणियों की विस्तृत श्रृंखला को कवर करना है: इकाई, कार्यात्मक, एंड-टू-एंड, एकीकरण, आदि, अत्यधिक शक्तिशाली और उपयोग में आसान कार्यात्मकताओं के साथ हुआ था।


== विशेषताएँ ==
== विशेषताएँ ==
TestNG की मुख्य विशेषताओं में शामिल हैं:
टेस्टएनजी की मुख्य विशेषताओं में सम्मिलित हैं:
# एनोटेशन समर्थन.
# टिप्पणी समर्थन.
# डेटा-संचालित परीक्षण के लिए समर्थन|डेटा-संचालित/पैरामीटरयुक्त परीक्षण (साथ)<code>@DataProvider</code> और/या XML कॉन्फ़िगरेशन).
# डेटा-संचालित परीक्षण के लिए समर्थन होता है| डेटा-संचालित/पैरामीटरयुक्त परीक्षण (साथ)होता है। <code>@data Provider</code>और एक्सएमएल विन्यास).
# एक ही परीक्षण वर्ग के कई उदाहरणों के लिए समर्थन (साथ)<code>@Factory</code>)
# एक ही परीक्षण वर्ग के कई उदाहरणों के लिए समर्थन (साथ) होता है। <code>@Factory</code>)
# लचीला निष्पादन मॉडल। टेस्टएनजी को [[अपाचे चींटी]] द्वारा बिल्ड.एक्सएमएल (परिभाषित परीक्षण सूट के साथ या उसके बिना) के माध्यम से या दृश्य परिणामों के साथ एक आईडीई प्लगइन द्वारा चलाया जा सकता है। वहाँ कोई नहीं है <code>TestSuite</code> क्लास, जबकि परीक्षण सूट, समूह और चलाने के लिए चुने गए परीक्षण XML फ़ाइलों द्वारा परिभाषित और कॉन्फ़िगर किए जाते हैं।
# लचीला निष्पादन ढाँचा होता है। टेस्टएनजी को [[अपाचे चींटी]] द्वारा बिल्ड.एक्सएमएल (परिभाषित परीक्षण सूट के साथ या उसके बिना) के माध्यम से या दृश्य परिणामों के साथ आईडीई प्लगइन द्वारा चलाया जा सकता है। वहाँ कोई नहीं है परीक्षण सूट वर्ग, चूकि परीक्षण सूट, समूह और चलाने के लिए चुने गए परीक्षण एक्सएमएल फ़ाइलों द्वारा परिभाषित और विन्यास किए जाते हैं।
# समवर्ती परीक्षण: उपलब्ध विभिन्न नीतियों के साथ मनमाने ढंग से बड़े थ्रेड पूल में परीक्षण चलाएं (अपने स्वयं के थ्रेड में सभी विधियां, प्रति परीक्षण वर्ग एक थ्रेड, आदि), और परीक्षण करें कि कोड मल्टीथ्रेड सुरक्षित है या नहीं।
# समवर्ती परीक्षण: उपलब्ध विभिन्न नीतियों के साथ मनमाने ढंग से बड़े सूत्रण पूल में परीक्षण चलाएं (अपने स्वयं के सूत्रण में सभी विधियां, प्रति परीक्षण वर्ग सूत्रण, आदि), और परीक्षण करें कि कोड बहुसूत्रण  सुरक्षित है या नहीं।
# अधिक लचीलेपन के लिए [[बीनशेल]] को एंबेड करता है।
# अत्यधिक लचीलेपन के लिए [[बीनशेल]] को एंबेड करता है।
# रनटाइम और लॉगिंग के लिए डिफ़ॉल्ट [[जावा डेवलपमेंट किट]] फ़ंक्शन (कोई निर्भरता नहीं)
# रनटाइम और लॉगिंग के लिए डिफ़ॉल्ट [[जावा डेवलपमेंट किट]] फ़ंक्शन (कोई निर्भरता नहीं) होता है।
# एप्लिकेशन सर्वर परीक्षण के लिए निर्भर तरीके।{{clarify|date=May 2012}}
# आवेदन सर्वर परीक्षण के लिए निर्भर तरीके से होता है।{{clarify|date=May 2012}}
# वितरित परीक्षण: स्लेव मशीनों पर परीक्षणों के वितरण की अनुमति देता है।
# वितरित परीक्षण: स्लेव मशीनों पर परीक्षणों के वितरण की अनुमति देता है।


===डेटा प्रदाता===
===डेटा प्रदाता===


TestNG में एक डेटा प्रदाता एक परीक्षण वर्ग में एक विधि है, जो निर्भर परीक्षण विधियों के लिए विभिन्न वास्तविक मूल्यों की एक श्रृंखला प्रदान करता है।
टेस्टएनजी में एक डेटा प्रदाता परीक्षण वर्ग में विधि है, जो निर्भर परीक्षण विधियों के लिए विभिन्न वास्तविक मूल्यों की श्रृंखला प्रदान करता है।


उदाहरण:
उदाहरण:
Line 66: Line 66:
}
}
</syntaxhighlight>
</syntaxhighlight>
डेटा प्रदाता का लौटाया गया प्रकार निम्नलिखित दो प्रकारों में से एक हो सकता है:
डेटा प्रदाता का लौटाया गया प्रकार निम्नलिखित दो प्रकारों में से हो सकता है:
*वस्तुओं की सारणी की एक सारणी (<code>Object[][]</code>) जहां पहले आयाम का आकार परीक्षण विधि को लागू करने की संख्या है और दूसरे आयाम के आकार में वस्तुओं की एक श्रृंखला होती है जो परीक्षण विधि के पैरामीटर प्रकारों के साथ संगत होनी चाहिए।
*वस्तुओं की सारणी की एक सारणी (<code>Object[][]</code>) जहां पहले आयाम का आकार परीक्षण विधि को क्रियान्वित करने की संख्या है और दूसरे आयाम के आकार में वस्तुओं की श्रृंखला होती है जो परीक्षण विधि के पैरामीटर प्रकारों के साथ संगत होनी चाहिए थी।
*एक <code>Iterator<Object[]></code>. फर्क सिर्फ इतना है <code>Object[][]</code> क्या यह कि Iterator आपको अपना परीक्षण डेटा आराम से बनाने की सुविधा देता है। TestNG एक-एक करके इस पुनरावर्तक द्वारा लौटाए गए मापदंडों के साथ पुनरावर्तक और फिर परीक्षण विधि को लागू करेगा। यह विशेष रूप से उपयोगी है यदि आपके पास विधि को पास करने के लिए बहुत सारे पैरामीटर सेट हैं और आप उन सभी को पहले से नहीं बनाना चाहते हैं।
*एक <code>Iterator<Object[]></code>. फर्क सिर्फ इतना है <code>Object[][]</code> क्या यह कि इटेटर आपको अपना परीक्षण डेटा आराम से बनाने की सुविधा देता है। टेस्टएनजी एक-एक करके इस पुनरावर्तक द्वारा लौटाए गए मापदंडों के साथ पुनरावर्तक और फिर परीक्षण विधि को क्रियान्वित करता है। यह विशेष रूप से उपयोगी है यदि आपके पास विधि को पास करने के लिए बहुत सारे पैरामीटर समुच्चय हैं और आप उन सभी को पहले से नहीं बनाना चाहते हैं।


=== उपकरण समर्थन ===
=== उपकरण समर्थन ===


टेस्टएनजी तीन प्रमुख जावा आईडीई - [[ ग्रहण (सॉफ्टवेयर) ]], [[मैं विचार समझता हूं]] और [[ NetBeans ]] में से प्रत्येक द्वारा, आउट-ऑफ--बॉक्स या प्लग-इन के माध्यम से समर्थित है। यह अपाचे चींटी के लिए एक कस्टम कार्य के साथ आता है और [[अपाचे मावेन]] बिल्ड सिस्टम द्वारा समर्थित है। हडसन (सॉफ़्टवेयर) निरंतर एकीकरण सर्वर में TestNG के लिए अंतर्निहित समर्थन है और यह समय के साथ परीक्षण परिणामों को ट्रैक और चार्ट करने में सक्षम है। अधिकांश जावा [[ कोड कवरेज़ ]] उपकरण, जैसे [[छत]], टेस्टएनजी के साथ निर्बाध रूप से काम करते हैं।
टेस्टएनजी तीन प्रमुख जावा आईडीई - [[ ग्रहण (सॉफ्टवेयर) ]], [[मैं विचार समझता हूं]] और [[ NetBeans | नेटबीन्स]] में से प्रत्येक द्वारा,बाहर-का-यह-डब्बा या प्लग-इन के माध्यम से समर्थित है। यह अपाचे चींटी के लिए रिवाज़ कार्य के साथ आता है और [[अपाचे मावेन]] बिल्ड सिस्टम द्वारा समर्थित है। हडसन (सॉफ़्टवेयर) निरंतर एकीकरण सर्वर में टेस्टएनजी के लिए अंतर्निहित समर्थन है और यह समय के साथ परीक्षण परिणामों को ट्रैक और चार्ट करने में सक्षम होता है। अधिकांश जावा [[ कोड कवरेज़ |कोड आवृत क्षेत्र]] उपकरण, जैसे [[छत]], टेस्टएनजी के साथ निर्बाध रूप से काम करते हैं।


नोट: एक्लिप्स के लिए टेस्टएनजी समर्थन केवल 2018-09 (4.9) तक के एक्लिप्स संस्करणों के लिए एक्लिप्स मार्केटप्लेस में एम्बेडेड है। एक्लिप्स के बाद के संस्करणों के लिए, TestNG को TestNG साइट के निर्देशों के अनुसार मैन्युअल रूप से स्थापित किया जाना चाहिए।<ref>{{cite web | url=https://marketplace.eclipse.org/content/testng-eclipse | title=TestNG for Eclipse }}</ref>
नोट: ग्रहण के लिए टेस्टएनजी समर्थन केवल 2018-09 (4.9) तक के ग्रहण संस्करणों के लिए ग्रहण विपणन स्थान में अंतर्निहित होता है। ग्रहण के बाद के संस्करणों के लिए, टेस्टएनजी को टेस्टएनजी साइट के निर्देशों के अनुसार नियमावली रूप से स्थापित किया जाना चाहिए था।<ref>{{cite web | url=https://marketplace.eclipse.org/content/testng-eclipse | title=TestNG for Eclipse }}</ref>




=== रिपोर्टिंग ===
=== रिपोर्टिंग ===
TestNG HTML और XML स्वरूपों में परीक्षण रिपोर्ट तैयार करता है। XML आउटपुट को चींटी JUnitReport कार्य द्वारा रूपांतरित किया जा सकता है<ref>[http://ant.apache.org/manual/OptionalTasks/junitreport.html JUnitReport] {{Webarchive|url=https://web.archive.org/web/20100224011201/http://ant.apache.org/manual/OptionalTasks/junitreport.html |date=2010-02-24 }}</ref> JUnit का उपयोग करते समय प्राप्त रिपोर्टों के समान रिपोर्ट तैयार करना। संस्करण 4.6 के बाद से, TestNG एक रिपोर्टर एपीआई भी प्रदान करता है<ref>{{Cite web |url=http://beust.com/weblog2/archives/000371.html |title=Announcing TestNG 4.6 |access-date=2010-03-04 |archive-date=2010-12-12 |archive-url=https://web.archive.org/web/20101212150840/http://beust.com/weblog2/archives/000371.html |url-status=dead }}</ref> जो तीसरे पक्ष के रिपोर्ट जेनरेटर की अनुमति देता है, जैसे कि रिपोर्टएनजी,<ref>[http://blog.uncommons.org/2009/11/02/reportng-1-0-final-released/ ReportNG 1.0 Final Released]</ref>
टेस्टएनजी एचटीएमएल और एक्सएमएल स्वरूपों में परीक्षण रिपोर्ट तैयार करता है। एक्सएमएल आउटपुट को चींटी Jयूनिट रिपोर्ट कार्य द्वारा रूपांतरित किया जा सकता है<ref>[http://ant.apache.org/manual/OptionalTasks/junitreport.html JUnitReport] {{Webarchive|url=https://web.archive.org/web/20100224011201/http://ant.apache.org/manual/OptionalTasks/junitreport.html |date=2010-02-24 }}</ref> Jयूनिट का उपयोग करते समय प्राप्त रिपोर्टों के समान रिपोर्ट तैयार करना होता है। संस्करण 4.6 के बाद से, परीक्षणएनजी एक रिपोर्टर एपीआई भी प्रदान करता है<ref>{{Cite web |url=http://beust.com/weblog2/archives/000371.html |title=Announcing TestNG 4.6 |access-date=2010-03-04 |archive-date=2010-12-12 |archive-url=https://web.archive.org/web/20101212150840/http://beust.com/weblog2/archives/000371.html |url-status=dead }}</ref> जो तीसरे पक्ष के रिपोर्ट जेनरेटर की अनुमति देता है, जैसे कि रिपोर्टएनजी,<ref>[http://blog.uncommons.org/2009/11/02/reportng-1-0-final-released/ ReportNG 1.0 Final Released]</ref>
PDFngरिपोर्ट<ref>[https://uttesh.github.io/pdfngreport/ PDFngreport 1.0.0]</ref> और टेस्टएनजी-एक्सएसएलटी,<ref>[https://code.google.com/p/testng-xslt/ TestNG XSL Reports]</ref> इस्तेमाल किया जाएगा।
 
पिडीएफ<sub>एनजी</sub> रिपोर्ट<ref>[https://uttesh.github.io/pdfngreport/ PDFngreport 1.0.0]</ref> और टेस्टएनजी-एक्सएसएलटी,<ref>[https://code.google.com/p/testng-xslt/ TestNG XSL Reports]</ref> इस्तेमाल किया जाता है।


==जुनीट के साथ तुलना==
==जुनीट के साथ तुलना==


TestNG की एक अन्य परीक्षण उपकरण JUnit के साथ लंबे समय से प्रतिद्वंद्विता है। प्रत्येक ढांचे में अंतर और संबंधित फायदे हैं। [[स्टैक ओवरफ़्लो]] चर्चाएँ इस विवाद को दर्शाती हैं।<ref>{{cite web|url=https://stackoverflow.com/questions/6658/junit-vs-testng |title=जूनिट बनाम टेस्टएनजी|publisher=stackoverflow.com}}</ref><ref>{{cite web |url=https://stackoverflow.com/questions/3438785/junit-vs-testng |title=जुनीट बनाम टेस्टएनजी|publisher=stackoverflow.com |url-status=dead |archiveurl=https://web.archive.org/web/20140202131938/http://stackoverflow.com/questions/3438785/junit-vs-testng |archivedate=2014-02-02 }}</ref><ref>{{cite web|url=https://stackoverflow.com/questions/3411768/which-unittest-framework-to-learn-for-java-now |title=Which UnitTest framework to learn for Java now? |publisher=stackoverflow.com}}</ref>
टेस्टएनजी की एक अन्य परीक्षण उपकरण Jयूनिट के साथ लंबे समय से प्रतिद्वंद्विता होते है। प्रत्येक ढांचे में अंतर और संबंधित फायदे होते हैं। [[स्टैक ओवरफ़्लो]] चर्चाएँ इस विवाद को दर्शाती हैं।<ref>{{cite web|url=https://stackoverflow.com/questions/6658/junit-vs-testng |title=जूनिट बनाम टेस्टएनजी|publisher=stackoverflow.com}}</ref><ref>{{cite web |url=https://stackoverflow.com/questions/3438785/junit-vs-testng |title=जुनीट बनाम टेस्टएनजी|publisher=stackoverflow.com |url-status=dead |archiveurl=https://web.archive.org/web/20140202131938/http://stackoverflow.com/questions/3438785/junit-vs-testng |archivedate=2014-02-02 }}</ref><ref>{{cite web|url=https://stackoverflow.com/questions/3411768/which-unittest-framework-to-learn-for-java-now |title=Which UnitTest framework to learn for Java now? |publisher=stackoverflow.com}}</ref>




===टिप्पणियाँ===
===टिप्पणियाँ===


JUnit 5 में, अधिकांश परिस्थितियों में @BeforeAll और @AfterAll तरीकों को स्थिर घोषित करना होगा।<ref>{{cite web|url=https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations | title=लेखन परीक्षण - टिप्पणियाँ| website=junit.org}}</ref> TestNG में यह बाधा नहीं है।
Jयूनिट 5 में, अधिकांश परिस्थितियों में @सबसे पहले और @सब के बाद तरीकों को स्थिर घोषित करना होता है ।<ref>{{cite web|url=https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations | title=लेखन परीक्षण - टिप्पणियाँ| website=junit.org}}</ref> टेस्टएनजी में यह बाधा नहीं होता है।


टेस्टएनजी में टेस्ट सूट और समूहों के लिए चार अतिरिक्त सेटअप/टियरडाउन एनोटेशन जोड़े शामिल हैं: @BeforeSuite, @AfterSuite, @BeforeTest, @AfterTest, @BeforeGroup और @AfterGroup, @BeforeMethod और @AfterMethod।
टेस्टएनजी में परीक्षण सूट और समूहों के लिए चार अतिरिक्त सेटअप/टियरडाउन टिप्पणी जोड़े सम्मिलित होता हैं: @सूट से पहले , @सूट के बाद, @परीक्षण से पहले, @परीक्षण के बाद, @ समूह से पहले और @ समूह के बाद, @विधि से पहले और @विधि के बाद।
TestNG सेलेनियम का उपयोग करके किसी एप्लिकेशन के परीक्षण को स्वचालित करने के लिए भी सहायता प्रदान करता है।
 
टेस्टएनजी सेलेनियम का उपयोग करके किसी आवेदन के परीक्षण को स्वचालित करने के लिए भी सहायता प्रदान करता है।


===पैरामीटरीकृत परीक्षण===
===पैरामीटरीकृत परीक्षण===


[[पैरामीटरयुक्त परीक्षण]] दोनों उपकरणों में लागू किया जाता है, लेकिन काफी अलग तरीकों से।
[[पैरामीटरयुक्त परीक्षण]] दोनों उपकरणों में क्रियान्वित किया जाता है, लेकिन काफी अलग तरीकों से होता है।


टेस्टएनजी के पास परीक्षण विधि में अलग-अलग पैरामीटर मान प्रदान करने के दो तरीके हैं: testng.xml सेट करके, और @DataProvider विधि को परिभाषित करके।<ref>{{cite web|url=http://www.qacreators.com/category/testng-is-an-unit-testing-framework |title=What is TestNG? |publisher=qacreators.com}}</ref>
टेस्टएनजी के पास परीक्षण विधि में अलग-अलग पैरामीटर मान प्रदान करने के दो तरीके हैं: टेस्टएनजी.एक्सएमएल समुच्चय करके,और @डेटा प्रदाता विधि को परिभाषित करके।<ref>{{cite web|url=http://www.qacreators.com/category/testng-is-an-unit-testing-framework |title=What is TestNG? |publisher=qacreators.com}}</ref>
JUnit 5 में, @ParameterizedTest एनोटेशन पैरामीटरयुक्त परीक्षण की अनुमति देता है। इस एनोटेशन को एक अन्य एनोटेशन के साथ जोड़ा गया है जो पैरामीटरयुक्त तर्कों के स्रोत की घोषणा करता है, जैसे @ValueSource या @EnumSource। @ArgumentsSource का उपयोग करने से उपयोगकर्ता को अधिक गतिशीलता लागू करने की अनुमति मिलती है <code>ArgumentsProvider</code>.<ref>{{cite web |title=JUnit 5 User Guide |url=https://junit.org/junit5/docs/current/user-guide/ |website=junit.org}}</ref> JUnit 4 में, @RunWith और @Parameters का उपयोग पैरामीटरयुक्त परीक्षणों को सुविधाजनक बनाने के लिए किया जाता है, जहां @Parameters विधि को वापस लौटना होता है <code>List[]</code> पैरामीटरयुक्त मानों के साथ, जिसे टेस्ट क्लास कंस्ट्रक्टर में फीड किया जाएगा।
 
Jयूनिट 5 में, @पैरामीटरयुक्त परीक्षण टिप्पणी पैरामीटरयुक्त परीक्षण की अनुमति देता है। इस टिप्पणी को एक अन्य टिप्पणी के साथ जोड़ा गया है जो पैरामीटरयुक्त तर्कों के स्रोत की घोषणा करता है, जैसे @मूल्य स्रोत या @प्रगणित स्रोत। @तर्क स्रोत का उपयोग करने से उपयोगकर्ता को अत्यधिक गतिशीलता क्रियान्वित करने की अनुमति मिलती है तर्क प्रदाता.<ref>{{cite web |title=JUnit 5 User Guide |url=https://junit.org/junit5/docs/current/user-guide/ |website=junit.org}}</ref> Jयूनिट 4 में, @साथ चलना और @पैरामीटर का उपयोग पैरामीटरयुक्त परीक्षणों को सुविधाजनक बनाने के लिए किया जाता है, जहां @पैरामीटर विधि को वापस लौटना होता है <code>List[]</code> पैरामीटरयुक्त मानों के साथ, जिसे परीक्षण वर्ग निर्माता में प्रति किया जाता है।


===निष्कर्ष===
===निष्कर्ष===
विभिन्न उपयोगकर्ता अक्सर एक ढांचे या किसी अन्य की कुछ विशेषताओं को पसंद करते हैं। JUnit अधिक व्यापक रूप से लोकप्रिय है और अक्सर डिफ़ॉल्ट रूप से मुख्यधारा IDE के साथ भेजा जाता है। TestNG विभिन्न प्रकार के परीक्षण के लिए अतिरिक्त कॉन्फ़िगरेशन विकल्पों और क्षमता के लिए जाना जाता है। कौन सा अधिक उपयुक्त है यह उपयोग के संदर्भ और आवश्यकताओं पर निर्भर करता है।
विभिन्न उपयोगकर्ता अधिकांशतः ढांचे या किसी अन्य की कुछ विशेषताओं को पसंद करते हैं। Jयूनिट अत्यधिक व्यापक रूप से लोकप्रिय है और अधिकांशतः न्यूनता रूप से मुख्यधारा आईडीई के साथ भेजा जाता है। टेस्टएनजी विभिन्न प्रकार के परीक्षण के लिए अतिरिक्त विन्यास विकल्पों और क्षमता के लिए जाना जाता है। कौन सा अत्यधिक उपयुक्त है यह उपयोग के संदर्भ और आवश्यकताओं पर निर्भर करता है।


==यह भी देखें==
==यह भी देखें==
Line 116: Line 119:




{{DEFAULTSORT:Testng}}[[Category: यूनिट परीक्षण ढाँचे]] [[Category: जावा प्लेटफार्म]] [[Category: अपाचे लाइसेंस का उपयोग करने वाला सॉफ़्टवेयर]]
{{DEFAULTSORT:Testng}}
 
 


[[Category: Machine Translated Page]]
[[Category:Created On 11/07/2023|Testng]]
[[Category:Created On 11/07/2023]]
[[Category:Machine Translated Page|Testng]]
[[Category:Pages with script errors|Testng]]
[[Category:Templates Vigyan Ready|Testng]]
[[Category:Webarchive template wayback links|Testng]]
[[Category:Wikipedia articles needing clarification from May 2012|Testng]]
[[Category:अपाचे लाइसेंस का उपयोग करने वाला सॉफ़्टवेयर|Testng]]
[[Category:जावा प्लेटफार्म|Testng]]
[[Category:यूनिट परीक्षण ढाँचे|Testng]]

Latest revision as of 16:14, 30 August 2023

टेस्टएनजी
Developer(s)Cédric Beust, the TestNG team
Stable release
7.6.1 / July 4, 2022; 2 years ago (2022-07-04)[1]
Written inJava
Operating systemCross-platform
TypeUnit testing tool
LicenseApache License 2.0[2]
Websitetestng.org

टेस्टएनजी जावा (प्रोग्रामिंग लैंग्वेज) के लिए परीक्षण सॉफ्टवेयर ढांचा है जो सेड्रिक बेस्ट द्वारा बनाया गया है और Jयूनिट और Nयूनिट से प्रेरित है। टेस्टएनजी का डिज़ाइन लक्ष्य परीक्षण श्रेणियों की विस्तृत श्रृंखला को कवर करना है: इकाई, कार्यात्मक, एंड-टू-एंड, एकीकरण, आदि, अत्यधिक शक्तिशाली और उपयोग में आसान कार्यात्मकताओं के साथ हुआ था।

विशेषताएँ

टेस्टएनजी की मुख्य विशेषताओं में सम्मिलित हैं:

  1. टिप्पणी समर्थन.
  2. डेटा-संचालित परीक्षण के लिए समर्थन होता है| डेटा-संचालित/पैरामीटरयुक्त परीक्षण (साथ)होता है। @data Providerऔर एक्सएमएल विन्यास).
  3. एक ही परीक्षण वर्ग के कई उदाहरणों के लिए समर्थन (साथ) होता है। @Factory)
  4. लचीला निष्पादन ढाँचा होता है। टेस्टएनजी को अपाचे चींटी द्वारा बिल्ड.एक्सएमएल (परिभाषित परीक्षण सूट के साथ या उसके बिना) के माध्यम से या दृश्य परिणामों के साथ आईडीई प्लगइन द्वारा चलाया जा सकता है। वहाँ कोई नहीं है परीक्षण सूट वर्ग, चूकि परीक्षण सूट, समूह और चलाने के लिए चुने गए परीक्षण एक्सएमएल फ़ाइलों द्वारा परिभाषित और विन्यास किए जाते हैं।
  5. समवर्ती परीक्षण: उपलब्ध विभिन्न नीतियों के साथ मनमाने ढंग से बड़े सूत्रण पूल में परीक्षण चलाएं (अपने स्वयं के सूत्रण में सभी विधियां, प्रति परीक्षण वर्ग सूत्रण, आदि), और परीक्षण करें कि कोड बहुसूत्रण सुरक्षित है या नहीं।
  6. अत्यधिक लचीलेपन के लिए बीनशेल को एंबेड करता है।
  7. रनटाइम और लॉगिंग के लिए डिफ़ॉल्ट जावा डेवलपमेंट किट फ़ंक्शन (कोई निर्भरता नहीं) होता है।
  8. आवेदन सर्वर परीक्षण के लिए निर्भर तरीके से होता है।[clarification needed]
  9. वितरित परीक्षण: स्लेव मशीनों पर परीक्षणों के वितरण की अनुमति देता है।

डेटा प्रदाता

टेस्टएनजी में एक डेटा प्रदाता परीक्षण वर्ग में विधि है, जो निर्भर परीक्षण विधियों के लिए विभिन्न वास्तविक मूल्यों की श्रृंखला प्रदान करता है।

उदाहरण:

	//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यूनिट

संदर्भ

  1. | Project GitHub releases page
  2. "Apache License Version 2.0". January 2004. Archived from the original on 2013-12-21.
  3. "TestNG for Eclipse".
  4. JUnitReport Archived 2010-02-24 at the Wayback Machine
  5. "Announcing TestNG 4.6". Archived from the original on 2010-12-12. Retrieved 2010-03-04.
  6. ReportNG 1.0 Final Released
  7. PDFngreport 1.0.0
  8. TestNG XSL Reports
  9. "जूनिट बनाम टेस्टएनजी". stackoverflow.com.
  10. "जुनीट बनाम टेस्टएनजी". stackoverflow.com. Archived from the original on 2014-02-02.
  11. "Which UnitTest framework to learn for Java now?". stackoverflow.com.
  12. "लेखन परीक्षण - टिप्पणियाँ". junit.org.
  13. "What is TestNG?". qacreators.com.
  14. "JUnit 5 User Guide". junit.org.


बाहरी संबंध