.NET कोर के लिए एक परीक्षण ढाँचा चुनना भ्रमित करने वाला और चुनौतीपूर्ण हो सकता है। परीक्षण ढांचे को किसी विशेष परियोजना की आवश्यकताओं और आवश्यकताओं के अनुरूप डिजाइन और चयनित किया जाना चाहिए।
परीक्षण ढाँचे अनेक और विविध विकल्पों में उपलब्ध हैं। C# में यूनिट परीक्षण के लिए दो सबसे आम और लोकप्रिय ढांचे और उपकरण माइक्रोसॉफ्ट यूनिट टेस्ट और xUnit हैं।
चाबी छीन लेना
- माइक्रोसॉफ्ट यूनिट टेस्ट एक परीक्षण ढांचा है जो विशेष रूप से .NET अनुप्रयोगों के लिए डिज़ाइन किया गया है, जबकि Xunit एक अधिक बहुमुखी, ओपन-सोर्स ढांचा है जो कई प्लेटफार्मों के साथ संगत है।
- Xunit समानांतर परीक्षण निष्पादन का समर्थन करता है, परीक्षण प्रदर्शन में सुधार करता है, जबकि Microsoft यूनिट टेस्ट यह सुविधा प्रदान नहीं करता है।
- Microsoft यूनिट टेस्ट [TestMethod] और [TestClass] जैसी विशेषताओं पर निर्भर करता है, जबकि Xunit परीक्षण मामलों के लिए [Fact] और [Theory] विशेषताओं का उपयोग करता है।
माइक्रोसॉफ्ट यूनिट टेस्ट बनाम xUnit
Microsoft यूनिट टेस्ट और xUnit स्वचालित परीक्षण बनाने और चलाने के लिए रूपरेखा का परीक्षण कर रहे हैं . नेट अनुप्रयोग। माइक्रोसॉफ्ट यूनिट टेस्ट विजुअल स्टूडियो में एक अंतर्निहित परीक्षण ढांचा है। xUnit अधिक सुविधाओं और लचीलेपन के साथ एक ओपन-सोर्स परीक्षण ढांचा है।
एमएसटीएस्ट का मतलब माइक्रोसॉफ्ट यूनिट टेस्ट है। फ्रेमवर्क का दूसरा नाम विजुअल स्टूडियो यूनिट टेस्टिंग फ्रेमवर्क है। फ्रेमवर्क की शिपिंग विज़ुअल स्टूडियो के साथ की जाती है।
फ्रेमवर्क को NuGet GUI या यहां तक कि 'NuGet पैकेज मैनेजर कंसोल कमांड' के माध्यम से भी स्थापित किया जा सकता है।
दूसरी ओर, xUnit .NET के ढांचे पर आधारित है। xUnit का 'x' फ्रेमवर्क में प्रयुक्त प्रोग्रामिंग भाषा के प्रकार को दर्शाता है। xUnit फ्रेमवर्क को GitHub से इंस्टॉल किया जा सकता है।
xUnit का विस्तार और विस्तार अधिकांश अन्य रूपरेखाओं की तुलना में अधिक है।
तुलना तालिका
तुलना के पैरामीटर | माइक्रोसॉफ्ट यूनिट टेस्ट | xयूनिट |
---|---|---|
इनिशियलाइज़ेशन और डी-इनिशियलाइज़ेशन | [TestInitialize] और [TestCleanup] क्रमशः इनिशियलाइज़ और डी-इनिशियलाइज़ करने के लिए | परीक्षण वर्ग के कंस्ट्रक्टर का उपयोग करके प्रारंभ किया जा सकता है और एक Idisposable इंटरफ़ेस का उपयोग करके डी-इनिशियलाइज़ किया जा सकता है |
समानांतर परीक्षण निष्पादन | समानांतर निष्पादन कक्षा स्तर के साथ-साथ विधि स्तर पर भी पेश किया जाता है | समानांतर निष्पादन थ्रेड की 'एन' संख्या के निष्पादन या परीक्षण कक्षाओं को एक ही परीक्षण संग्रह में अनुमति देकर पेश किया जाता है |
परीक्षणों का अलगाव | कम अलगाव प्रदान करता है | बेहतर अलगाव प्रदान करता है |
तानाना | तुलनात्मक रूप से कम विस्तार योग्य | अधिक विस्तार योग्य क्योंकि यह [तथ्य] और [सिद्धांत] जैसी विशेषताओं का उपयोग करता है |
अभिकथन के लिए तंत्र | [अपेक्षित अपवाद] का उपयोग करता है | Assert.Frows का उपयोग करता है |
माइक्रोसॉफ्ट यूनिट टेस्ट क्या है?
माइक्रोसॉफ्ट यूनिट टेस्ट (एमएसटीएस्ट), जिसे विजुअल स्टूडियो यूनिट टेस्टिंग फ्रेमवर्क के रूप में भी जाना जाता है, डिफ़ॉल्ट टेस्ट फ्रेमवर्क है। यह टूल विजुअल स्टूडियो के साथ भेजा गया है। प्रारंभ में, परीक्षण निष्पादित करने के लिए टूल का उपयोग एक सामान्य लाइन के रूप में किया जाता था।
फ्रेमवर्क प्रदान किए गए स्रोत कोड को प्रमाणित करने, जांचने और सत्यापित करने के लिए आवश्यक टूल को पूरा करता है। एमएसटीएस्ट में निष्पादन समय कम है क्योंकि परीक्षण निष्पादित और समानांतर चल सकते हैं।
फ्रेमवर्क विभिन्न परीक्षण कोडों की सहायता से कई एनोटेशन और विशेषताओं के माध्यम से परीक्षण को पहचानता है। कुछ सामान्य विशेषताएँ हैं [TestInitialize], [TestCleanup], [TestMethod], और अन्य।
टूल में विज़ुअल स्टूडियो का प्री-बंडल है। Microsoft यूनिट टेस्ट का सफल संचालन पूरी तरह से MSTest एडाप्टर की स्थापना पर निर्भर करता है।
माइक्रोसॉफ्ट यूनिट टेस्ट की स्थापना प्रक्रिया NuGet GUI या यहां तक कि 'NuGet पैकेज मैनेजर कंसोल कमांड' के माध्यम से होती है।
पैकेज इंस्टालेशन 'इंस्टॉल-पैकेज' कमांड और तर्क का उपयोग करके किया जाता है। उपयोगकर्ताओं के परीक्षण व्यवहार को कई इनपुट तर्कों को पूरा करके Microsoft यूनिट टेस्ट में परिभाषित किया जा सकता है।
MSTest.TestAdapter, Microsoft.NET.Test जैसे पैकेज।एसडीके और MSTest.TestFramework फ्रेमवर्क के कामकाज के लिए आवश्यक है। आरंभिक MSTest V1 खुला-स्रोत नहीं था; बाद में, V2 को एक ओपन-सोर्स के रूप में लॉन्च किया गया।
माइक्रोसॉफ्ट यूनिट टेस्ट क्रॉस-प्लेटफ़ॉर्म है। यह विंडोज़, लिनक्स या मैक जैसे प्लेटफ़ॉर्म पर विभिन्न परीक्षण लक्ष्यीकरण के कार्यान्वयन की अनुमति देता है। इसमें कस्टम विशेषताओं और अभिकथनों की विस्तारशीलता का भी प्रावधान है।
एक्सयूनिट क्या है?
xUnit एक परीक्षण उपकरण है जिसका उपयोग .NET Framework के लिए किया जाता है। यह एक स्वतंत्र और ओपन-सोर्स इकाई है। xUnit का लाइसेंस के अंतर्गत है अपाचे लाइसेंस 2.0. सोर्स कोड की उपलब्धता GitHub पर है।
xUnit.net का कार्य CodeRush, Xamarin, TestDriven.NET और ReSharper के साथ है। लेखक जेम्स न्यूकिर्क और ब्रैड विल्सन हैं।
xUnit.net के डेवलपर आउटरकर्व फाउंडेशन, माइक्रोसॉफ्ट और .NET फाउंडेशन हैं। टूल 29 अक्टूबर, 2018 को संस्करण 2.4.1 में जारी किया गया था। यह टूल विशेष रूप से C# भाषा में लिखा गया है।
xUnit के साथ संगत ऑपरेटिंग सिस्टम macOS, Windows और Linux हैं। मोनो, .NET फ्रेमवर्क और .NET कोर ऐसे प्लेटफ़ॉर्म हैं जो यूनिट परीक्षण टूल का समर्थन करते हैं। उपकरण समुदाय-केंद्रित है.
xUnit उसी व्यक्ति द्वारा लिखा गया था जो NUnit v2 का आविष्कारक है। टूल की शुरूआत प्रोग्रामर्स को बेहतर और स्पष्ट परीक्षण लिखने में मदद करने के लिए थी।
टूल की शुरुआत के बाद टेस्टिंग फ्रेमवर्क को भी .NET प्लेटफॉर्म के करीब लाया गया। xUnit ने प्रोग्रामर्स के लिए एक आर्किटेक्चर बनाया, विशेष रूप से टेस्ट-ड्रिवेन के विकास के लिए।
स्वचालित स्वीकृति परीक्षण जैसे अन्य परीक्षणों का समर्थन करने का विस्तार भी xUnit टूल में शामिल है।
xUnit को आसानी से विस्तारित किया जा सकता है। टूल को NuGet गैलरी से डाउनलोड किया गया है। यह उपकरण परीक्षण की अनूठी और भिन्न शैली की अनुमति देता है।
टूल को टेस्ट क्लास के कंस्ट्रक्टर का उपयोग करके प्रारंभ किया जा सकता है और एक Idisposable इंटरफ़ेस का उपयोग करके डी-इनिशियलाइज़ किया जा सकता है। xUnit को एक्स्टेंसिबल और एक मजबूत परीक्षण उपकरण माना जाता है।
माइक्रोसॉफ्ट यूनिट टेस्ट और xUnit के बीच मुख्य अंतर
- Microsoft यूनिट टेस्ट कम समुदाय-केंद्रित और कम परिष्कृत है, जबकि xUnit अधिक समुदाय-केंद्रित और अधिक परिष्कृत है।
- किसी परीक्षण विधि या व्यक्तिगत परीक्षण को चिह्नित करने की विशेषता Microsoft यूनिट टेस्ट में [TestMethod] है जबकि xUnit में [Fact] है।
- किसी वर्ग के यूनिट परीक्षणों के समूह को इंगित करने की विशेषता Microsoft यूनिट परीक्षण में [टेस्टक्लास] है, जबकि xUnit फ्रेमवर्क में ऐसी कोई विशेषता मौजूद नहीं है।
- माइक्रोसॉफ्ट यूनिट टेस्ट में फिक्स्चर सेटअप और टियरडाउन विशेषताएँ शामिल नहीं हैं, जबकि ICollectionFixture प्रति संग्रह xUnit में उपयोग किया जाता है।
- माइक्रोसॉफ्ट यूनिट टेस्ट को शुरुआत में ओपन-सोर्स टेस्टिंग फ्रेमवर्क के रूप में लॉन्च नहीं किया गया था, जबकि xUnit को ओपन-सोर्स टेस्टिंग के रूप में लॉन्च किया गया था।
- https://ieeexplore.ieee.org/abstract/document/7155685/
- https://link.springer.com/chapter/10.1007/978-3-642-15585-7_11
अंतिम अद्यतन: 11 जून, 2023
संदीप भंडारी ने थापर विश्वविद्यालय (2006) से कंप्यूटर में इंजीनियरिंग में स्नातक की उपाधि प्राप्त की है। उनके पास प्रौद्योगिकी क्षेत्र में 20 वर्षों का अनुभव है। उन्हें डेटाबेस सिस्टम, कंप्यूटर नेटवर्क और प्रोग्रामिंग सहित विभिन्न तकनीकी क्षेत्रों में गहरी रुचि है। आप उनके बारे में और अधिक पढ़ सकते हैं जैव पृष्ठ.
आलेख Microsoft यूनिट टेस्ट और xUnit के बीच एक व्यावहारिक तुलना प्रदान करता है, जिससे डेवलपर्स के लिए अपने .NET कोर प्रोजेक्ट्स के लिए आदर्श परीक्षण ढांचे को समझना आसान हो जाता है। विस्तृत स्पष्टीकरण सराहनीय हैं.
मुझे लेख में दी गई तुलना तालिका अत्यंत उपयोगी और जानकारीपूर्ण लगी। यह माइक्रोसॉफ्ट यूनिट टेस्ट और xUnit के बीच अंतर को संक्षेप में प्रस्तुत करता है। इस लेख को पढ़कर बहुत आनंद आया।
सहमत, सोफिया। सारणीबद्ध प्रतिनिधित्व इन परीक्षण ढाँचों के बीच विरोधाभासों को समझना आसान बनाता है। यह डेवलपर्स के लिए एक मूल्यवान संसाधन है।
यह एक उत्कृष्ट पाठ है! आलेख Microsoft यूनिट टेस्ट और xUnit के बीच एक व्यापक और विस्तृत तुलना प्रदान करता है। ऐसी उच्च-गुणवत्ता वाली सामग्री उन डेवलपर्स के लिए एक वरदान है जो परीक्षण ढांचे के बारे में सूचित विकल्प चुनना चाहते हैं। मैं इस पोस्ट की सराहना करता हूं.
लेख में दी गई जानकारी सटीक और जानकारीपूर्ण है। लेख दोनों परीक्षण ढाँचों और उनकी संबंधित विशेषताओं के बीच एक अच्छी तुलना प्रदान करता है। यह आलेख किसी भी डेवलपर को उनके .NET कोर प्रोजेक्ट के लिए सर्वोत्तम परीक्षण ढांचे पर निर्णय लेने में मदद कर सकता है।
आप सही हैं, एथन। लेख में माइक्रोसॉफ्ट यूनिट टेस्ट और एक्सयूनिट के बीच मुख्य अंतरों पर विस्तार से चर्चा की गई है। मुझे भी यह उपयोगी और ज्ञानवर्धक लगा।
यह आलेख .NET कोर के लिए एक परीक्षण ढाँचा चुनने के बारे में बहुत अच्छी जानकारी देता है। प्रदान किए गए व्यापक विवरण डेवलपर्स के लिए Microsoft यूनिट टेस्ट और xUnit के बीच की बारीकियों को समझना आसान बनाते हैं। यह किसी भी .NET डेवलपर के लिए आवश्यक जानकारी है।
आलेख Microsoft यूनिट टेस्ट और xUnit की गहन तुलना प्रस्तुत करता है, जो डेवलपर्स को मूल्यवान अंतर्दृष्टि प्रदान करता है। जानकारीपूर्ण सामग्री उपयुक्त परीक्षण ढांचे को चुनने पर स्पष्टता चाहने वाले किसी भी व्यक्ति के लिए फायदेमंद है।
दरअसल, एशले। लेख की विस्तृत तुलना डेवलपर्स को इन परीक्षण रूपरेखाओं के पेशेवरों और विपक्षों को प्रभावी ढंग से तौलने में मदद करती है। यह अच्छी तरह से तैयार किया गया है और अत्यधिक जानकारीपूर्ण है।
बिल्कुल, एशले। लेख में विश्लेषण की गहराई डेवलपर्स के लिए उल्लेखनीय और समृद्ध है। सुविधाओं का विस्तृत विवरण परीक्षण ढाँचे की समझ में अत्यधिक मूल्य जोड़ता है।