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

From Vigyanwiki
No edit summary
No edit summary
 
(9 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:
}}
}}


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


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


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


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


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


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


नोट: ग्रहण के लिए परीक्षणएनजी समर्थन केवल 2018-09 (4.9) तक के ग्रहण संस्करणों के लिए ग्रहण विपणन स्थान में एम्बेडेड होता है। ग्रहण के बाद के संस्करणों के लिए, परीक्षणएनजी  को परीक्षणएनजी साइट के निर्देशों के अनुसार नियमावली रूप से स्थापित किया जाना चाहिए था।<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>




=== रिपोर्टिंग ===
=== रिपोर्टिंग ===
परीक्षणएनजी एचटीएमएल और एक्सएमएल स्वरूपों में परीक्षण रिपोर्ट तैयार करता है। एक्सएमएल आउटपुट को चींटी 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>


पिडीएफ<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> इस्तेमाल किया जाता है।
पिडीएफ<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> इस्तेमाल किया जाता है।
Line 84: Line 84:
==जुनीट के साथ तुलना==
==जुनीट के साथ तुलना==


परीक्षणएनजी की एक अन्य परीक्षण उपकरण 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> परीक्षणएनजी में यह बाधा नहीं होता है।
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।
टेस्टएनजी में परीक्षण सूट और समूहों के लिए चार अतिरिक्त सेटअप/टियरडाउन टिप्पणी जोड़े सम्मिलित होता हैं: @सूट से पहले , @सूट के बाद, @परीक्षण से पहले, @परीक्षण के बाद, @ समूह से पहले और @ समूह के बाद, @विधि से पहले और @विधि के बाद।


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


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


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


टेस्टएनजी के पास परीक्षण विधि में अलग-अलग पैरामीटर मान प्रदान करने के दो तरीके हैं: परीक्षणएनजी.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 के साथ भेजा जाता है। परीक्षणएनजी विभिन्न प्रकार के परीक्षण के लिए अतिरिक्त कॉन्फ़िगरेशन विकल्पों और क्षमता के लिए जाना जाता है। कौन सा अधिक उपयुक्त है यह उपयोग के संदर्भ और आवश्यकताओं पर निर्भर करता है।
विभिन्न उपयोगकर्ता अधिकांशतः ढांचे या किसी अन्य की कुछ विशेषताओं को पसंद करते हैं। Jयूनिट अत्यधिक व्यापक रूप से लोकप्रिय है और अधिकांशतः न्यूनता रूप से मुख्यधारा आईडीई के साथ भेजा जाता है। टेस्टएनजी विभिन्न प्रकार के परीक्षण के लिए अतिरिक्त विन्यास विकल्पों और क्षमता के लिए जाना जाता है। कौन सा अत्यधिक उपयुक्त है यह उपयोग के संदर्भ और आवश्यकताओं पर निर्भर करता है।


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




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


 
[[Category:Created On 11/07/2023|Testng]]
 
[[Category:Machine Translated Page|Testng]]
[[Category: Machine Translated Page]]
[[Category:Pages with script errors|Testng]]
[[Category:Created On 11/07/2023]]
[[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.


बाहरी संबंध