http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

सी #। MS Visual Studio में एक इकाई परीक्षण बनाने का उदाहरण

  1. सामग्री
  2. क्रियान्वयन
  3. 2. Program.cs मॉड्यूल पाठ तैयार करना
  4. 2.2। कार्यक्रम को सार्वजनिक करें
  5. 3. परीक्षण किए गए कार्यक्रम की लिस्टिंग
  6. 4. एक परीक्षण बनाना
  7. 4.1। समाधान के लिए एक नई परियोजना जोड़ना
  8. 4.2। समाधान संरचना
  9. 4.3। फ़ाइल का पाठ "UnitTest1.cs"। विशेषताएँ [TestMethod] और [TestClass]
  10. 4.4। UnitTest1 मॉड्यूल के पाठ में परिवर्तन करना। परीक्षण विधि का नाम बदलना
  11. 4.5। MinApp प्रोजेक्ट को TestMinApp प्रोजेक्ट से कनेक्ट करना
  12. 4.6। मॉड्यूल UnitTest1.cs के पाठ में परिवर्तन करना
  13. 4.6.2। TestMin () विधि पाठ
  14. 4.7। UnitTest1.cs मॉड्यूल पाठ
  15. 5. परीक्षण चलाएं और परीक्षा परिणाम की जांच करें
  16. 6. परिणाम। परियोजनाओं के बीच सहभागिता

यह विषय कंसोल विज़ुअलाइज़ेशन जैसे एप्लिकेशन के लिए Microsoft Visual Studio 2010 (C #) में एक सरल इकाई परीक्षण बनाने की चरण-दर-चरण प्रक्रिया का वर्णन करता है। इस उदाहरण का उपयोग करके, आप सीख सकते हैं कि अपनी इकाई परीक्षण कैसे बनाएं। उदाहरण कार्यों के संचालन के परीक्षण के लिए एस्टर वर्ग के उपयोग को भी दर्शाता है।

सामग्री

समस्या की स्थिति

कंसोल एप्लिकेशन जैसे एप्लिकेशन के लिए, एक यूनिट टेस्ट विकसित करें जो मिन () फ़ंक्शन के संचालन का परीक्षण करता है, जो तीन संख्याओं के अधिकतम तत्व को निर्धारित करता है।

मिन () फ़ंक्शन के लिए, टेस्ट मेथड को TestMin () पर सेट करें। फ़ंक्शन की जाँच करें।

क्रियान्वयन

1. कंसोल एप्लीकेन टेम्पलेट का उपयोग करके एक एप्लिकेशन बनाएं

निष्पादन के लिए MS Visual Studio 2010 चलाएँ। कंसोल एप्लिकेशन पैटर्न का उपयोग करके एक प्रोजेक्ट बनाने के लिए, कमांड के निम्नलिखित अनुक्रम को बुलाया जाना चाहिए:

फ़ाइल -> नया -> प्रोजेक्ट ...

परिणामस्वरूप, नई प्रोजेक्ट विंडो खुलती है। विंडो में, कंसोल एप्लिकेशन टेम्पलेट का चयन करें जैसा कि चित्र 1 में दिखाया गया है। टेम्पलेट विजुअल C # टैब में चुना गया है।

विजुअल C # -> कंसोल एप्लीकेशन

विजुअल C # -> कंसोल एप्लीकेशन

अंजीर। 1. विंडो "नया प्रोजेक्ट"। सांत्वना एप्लिकेशन प्रकार का एक आवेदन चुनना

2. Program.cs मॉड्यूल पाठ तैयार करना

2.1। मॉड्यूल पाठ में न्यूनतम () फ़ंक्शन जोड़ें

कार्यक्रम वर्ग के निकाय में न्यूनतम () फ़ंक्शन का पाठ जोड़ा जाना चाहिए।

फ़ंक्शन को सार्वजनिक (स्थिर) और सार्वजनिक घोषित किया जाता है। मिन () फ़ंक्शन पाठ

सार्वजनिक स्थिर int मिन (int a, int b, int c) {int min = a; if (min> b) min = b; if (min> c) min = c; वापसी मिनट; }

सार्वजनिक स्थिर int मिन (int a, int b, int c) {int min = a;  if (min> b) min = b;  if (min> c) min = c;  वापसी मिनट;  }

अंजीर। 2. एमएस विज़ुअल स्टूडियो 2010 विंडो, मॉड्यूल "Program.cs" का दृश्य

2.2। कार्यक्रम को सार्वजनिक करें

प्रोग्राम क्लास के मिन () फ़ंक्शन तक पहुंच के लिए, आपको इस क्लास को सार्वजनिक रूप से उपलब्ध कराने की आवश्यकता है। ऐसा करने के लिए, कक्षा घोषित करने से पहले, आपको सार्वजनिक कीवर्ड को परिभाषित करने की आवश्यकता है।

... नाम स्थान MinApp {सार्वजनिक वर्ग कार्यक्रम {// वर्ग विधियों // ...}} ...

उसके बाद, परीक्षण कार्यक्रम तैयार है।

3. परीक्षण किए गए कार्यक्रम की लिस्टिंग

फिलहाल, परीक्षण किए जा रहे कार्यक्रम की सूची निम्नलिखित है:

सिस्टम का उपयोग कर; System.Collections.Generic का उपयोग कर; System.Linq का उपयोग करना; System.Text का उपयोग कर; नाम स्थान MinApp {सार्वजनिक वर्ग कार्यक्रम {सार्वजनिक स्थैतिक int Min (int a, int b, int c) {int min = a; if (min> b) min = b; if (min> c) min = c; वापसी मिनट; } स्टेटिक शून्य मेन (स्ट्रिंग [] आर्ग्स) {Console.WriteLine ("C # में यूनिट-टेस्टिंग का डेमो"); }}}

चूंकि इस कार्यक्रम का परीक्षण किसी अन्य परीक्षण मॉड्यूल से किया जाएगा, इसलिए मेन () फ़ंक्शन में कुछ और दर्ज करने की आवश्यकता नहीं है। क्योंकि, समस्या की स्थिति के अनुसार, आपको मिन () फ़ंक्शन के संचालन का परीक्षण करने की आवश्यकता है। और यह परीक्षण मॉड्यूल से किया जाएगा। फिलहाल, हमारा कार्यक्रम परीक्षण के लिए तैयार है।

4. एक परीक्षण बनाना

परीक्षण समाधान (समाधान) में एक अलग परियोजना (प्रोजेक्ट) द्वारा बनाया गया है। परीक्षण किया जा रहा कार्यक्रम इसके बारे में नहीं जानता है। वह कार्यक्रम जो परीक्षण करेगा (परीक्षण कार्यक्रम) परीक्षण किए जा रहे कार्यक्रम के कार्यों को कॉल करेगा। हमारे मामले में, परीक्षण कार्यक्रम फ़ंक्शन को कॉल करेगा

int न्यूनतम (int, int, int);

4.1। समाधान के लिए एक नई परियोजना जोड़ना

इस समाधान (समाधान) के लिए आपको कमांड का उपयोग करके एक नया प्रोजेक्ट जोड़ना होगा

फ़ाइल-> जोड़ें-> नई परियोजना ...

एक नई परियोजना बनाने की खिड़की को चित्र 3 में दिखाया गया है।

अंजीर। 3. टेस्ट प्रोजेक्ट प्रकार की परियोजना बनाने के लिए विंडो

विंडो में विजुअल C # टेम्प्लेट -> टेस्ट का एक समूह चुना गया है। प्रदर्शित टेम्प्लेट में से, "टेस्ट प्रोजेक्ट" प्रोजेक्ट टेम्पलेट चुना गया है। फ़ील्ड में "नाम" परियोजना का नाम जो हमारे कार्यक्रम का परीक्षण करेगा, संकेत दिया गया है। आपको उदाहरण के लिए, TestMinApp सेट करना होगा। प्रोजेक्ट एक अलग फ़ोल्डर "E: \ Test \ MinApp" में स्थित है।

विंडो में विजुअल C # टेम्प्लेट -> टेस्ट का एक समूह चुना गया है।  प्रदर्शित टेम्प्लेट में से, टेस्ट प्रोजेक्ट प्रोजेक्ट टेम्पलेट चुना गया है।  फ़ील्ड में नाम परियोजना का नाम जो हमारे कार्यक्रम का परीक्षण करेगा, संकेत दिया गया है।  आपको उदाहरण के लिए, TestMinApp सेट करना होगा।  प्रोजेक्ट एक अलग फ़ोल्डर E: \ Test \ MinApp में स्थित है।

अंजीर। 4. मॉड्यूल UnitTest1.cs का पाठ। TestMinApp और MinApp परियोजनाओं के साथ समाधान एक्सप्लोरर उपयोगिता खिड़की प्रदर्शित की जाती है

4.2। समाधान संरचना

जैसा कि चित्र 4 से देखा जा सकता है, समाधान एक्सप्लोरर उपयोगिता समाधान आइटम संरचना को प्रदर्शित करती है, जिसमें दो परियोजनाएं शामिल हैं:

  • MinApp प्रोजेक्ट करें। यह कंसोल प्रोजेक्ट टेम्पलेट का उपयोग मिन () फ़ंक्शन के साथ बनाई गई परियोजना है जिसे आप विरोध करना चाहते हैं;
  • TestMinApp प्रोजेक्ट। इस परियोजना को MinApp परियोजना की विशेषताओं का परीक्षण करने के लिए डिज़ाइन किया गया है। न्यूनतम () फ़ंक्शन का परीक्षण करने वाले प्रोग्राम कोड को TestMinApp प्रोजेक्ट के UnitTest1 प्रोजेक्ट फ़ाइल में दर्ज किया जाएगा।

दोनों परियोजनाओं को एक दूसरे से स्वतंत्र रूप से किया जा सकता है।

4.3। फ़ाइल का पाठ "UnitTest1.cs"। विशेषताएँ [TestMethod] और [TestClass]

TestMinApp प्रोजेक्ट में, परीक्षण फ़ाइल UnitTest1.cs प्राथमिक रुचि की है। इस फ़ाइल में वे विधियाँ हैं, जो MinApp परियोजना के कार्यों का परीक्षण करेंगी। TestMinApp प्रोजेक्ट में किसी भी संख्या में फ़ाइलें हो सकती हैं जिनमें परीक्षण शामिल हैं (उदाहरण के लिए, UnitTest2.cs, UnitTest3.cs, आदि)।

MST Studio1 द्वारा निर्मित UnitTest1.cs फ़ाइल की सूची निम्नानुसार है:

सिस्टम का उपयोग कर; System.Text का उपयोग कर; System.Collections.Generic का उपयोग कर; System.Linq का उपयोग करना; Microsoft.VisualStudio.TestTools.UnitTesting का उपयोग कर; namespace TestMinApp {/// <सारांश> /// सारांश विवरण के लिए UnitTest1 /// </ सारांश> [TestClass] सार्वजनिक वर्ग UnitTest1 {public UnitTest1 () {// // TODO: यहां कंस्ट्रक्शन जोड़ें //} निजी TestContext testContextInstance; /// <सारांश> /// हो जाता है या परीक्षण संदर्भ सेट करता है। /// </ सारांश> सार्वजनिक TestContext TestContext {get {return testContextInstance; } सेट {testContextInstance = मूल्य; }} #region अतिरिक्त परीक्षण विशेषताएँ // आप अपने परीक्षणों का उपयोग कर सकते हैं // // ClassInitialize // [ClassInitialize ()] // का उपयोग करें public static void MyClassInitialize (TestContext testContext) {} // // क्लास में सभी टेस्ट के बाद क्लास चलाने के लिए ClassCleanup का उपयोग करें। प्रत्येक परीक्षण चलाने से पहले कोड को चलाने के लिए // [TestInitialize ()] // सार्वजनिक शून्य MyTestInitialize () {} // // TestCleanup का उपयोग करें ) {} // #regregion [TestMethod] सार्वजनिक शून्य TestMethod1 () {// // TODO: यहां टेस्ट लॉजिक जोड़ें //}}}

जैसा कि उपरोक्त कोड से देखा जा सकता है, फ़ाइल में UnitTest1 नामक एक वर्ग है। वर्ग में एक सार्वजनिक विधि होती है जिसे TestMethod1 () कहा जाता है। TestMethod1 () पद्धति को लागू करने से पहले, [TestMethod] विशेषता को रखा गया है। इसका मतलब है कि आपको उस कोड को दर्ज करने की आवश्यकता है जो विधि के शरीर में MinApp परियोजना के कार्यों का परीक्षण करेगा।

कक्षा में, आप किसी भी संख्या में कई तरीके दर्ज कर सकते हैं जो विभिन्न मॉड्यूल से विभिन्न कार्यों का परीक्षण करेंगे। मुख्य बात यह है कि इन विधियों को [TestMethod] विशेषता के साथ चिह्नित किया गया है।

4.4। UnitTest1 मॉड्यूल के पाठ में परिवर्तन करना। परीक्षण विधि का नाम बदलना

आप विधियों के नाम बदल सकते हैं और UnitTest1.cs मॉड्यूल में [TestMethod] विशेषता के साथ चिह्नित नई विधियों को जोड़ सकते हैं। यह देखते हुए, UnitTest1.cs मॉड्यूल के पाठ में, आपको TestMethod1 () विधि का नाम बदलकर TestMin () करने की आवश्यकता है।

परिवर्तन किए जाने के बाद, UnitTest1.cs फ़ाइल के मॉड्यूल का संक्षिप्त पाठ इस प्रकार होगा:

सिस्टम का उपयोग कर; System.Text का उपयोग कर; System.Collections.Generic का उपयोग कर; System.Linq का उपयोग करना; Microsoft.VisualStudio.TestTools.UnitTesting का उपयोग कर; namespace TestMinApp {/// <सारांश> /// सारांश विवरण के लिए UnitTest1 /// </ सारांश> [TestClass] सार्वजनिक वर्ग UnitTest1 {... [TestMethod] सार्वजनिक शून्य TestMin () {// TODO: परीक्षण जोड़ें यहाँ तर्क //}}}}

4.5। MinApp प्रोजेक्ट को TestMinApp प्रोजेक्ट से कनेक्ट करना

TestMinApp प्रोजेक्ट से Min () फ़ंक्शन (MinApp प्रोजेक्ट) तक पहुंचने के लिए, आपको उन नामों को कनेक्ट करना होगा जिसमें यह फ़ंक्शन स्थित है।

ऐसा करने के लिए, सबसे पहले, आपको TestMinApp प्रोजेक्ट के लिए संदर्भ मेनू पर कॉल करना होगा। फिर संदर्भ मेनू में आपको कमांड "संदर्भ जोड़ें ..." (चित्रा 5) को कॉल करने की आवश्यकता है।

 (चित्रा 5) को कॉल करने की आवश्यकता है।

अंजीर। 5. टीम "संदर्भ जोड़ें ..."

परिणामस्वरूप, Add Reference विंडो खुलेगी, जिसमें आपको MinApp प्रोजेक्ट का चयन करना होगा।

अंजीर। 6. विंडो "संदर्भ जोड़ें"। MinApp प्रोजेक्ट कनेक्ट कर रहा है

पूर्ण किए गए कार्यों के बाद, MinApp परियोजना फ़ंक्शन TestMinApp परियोजना में उपयोग के लिए उपलब्ध होंगे।

पूर्ण किए गए कार्यों के बाद, MinApp परियोजना फ़ंक्शन TestMinApp परियोजना में उपयोग के लिए उपलब्ध होंगे।

अंजीर। 7. कनेक्ट किए गए MinApp प्रोजेक्ट के साथ संदर्भ टैब

4.6। मॉड्यूल UnitTest1.cs के पाठ में परिवर्तन करना
4.6.1। UnitTest1.cs मॉड्यूल में MinApp नामस्थान जोड़ना

इस चरण में, UnitTest1.cs मॉड्यूल में, आपको निर्देश का उपयोग करके MinApp नामस्थान को जोड़ने की आवश्यकता है:

सिस्टम का उपयोग कर; System.Text का उपयोग कर; System.Collections.Generic का उपयोग कर; System.Linq का उपयोग करना; Microsoft.VisualStudio.TestTools.UnitTesting का उपयोग कर; MinApp का उपयोग करना; नामस्थान TestMinApp {...}

4.6.2। TestMin () विधि पाठ

TestMin () विधि के पाठ में, निम्न कोड दर्ज करें:

... [TestMethod] सार्वजनिक शून्य TestMin () {// // TODO: यहाँ परीक्षण तर्क जोड़ें // int min; मिनट = कार्यक्रम .Min (3, 4, 5); जोर ।AreEqual (2, मिनट); } ...

4.7। UnitTest1.cs मॉड्यूल पाठ

संपूर्ण UnitTest1.cs मॉड्यूल का पाठ इस प्रकार है:

सिस्टम का उपयोग कर; System.Text का उपयोग कर; System.Collections.Generic का उपयोग कर; System.Linq का उपयोग करना; Microsoft.VisualStudio.TestTools.UnitTesting का उपयोग कर; MinApp का उपयोग करना; namespace TestMinApp {/// <सारांश> /// सारांश विवरण के लिए UnitTest1 /// </ सारांश> [TestClass] सार्वजनिक वर्ग UnitTest1 {public UnitTest1 () {// // TODO: यहां कंस्ट्रक्शन जोड़ें //} निजी TestContext testContextInstance; /// <सारांश> /// हो जाता है या परीक्षण संदर्भ सेट करता है। /// </ सारांश> सार्वजनिक TestContext TestContext {get {return testContextInstance; } सेट {testContextInstance = मूल्य; }} #region अतिरिक्त परीक्षण विशेषताएँ // आप अपने परीक्षणों का उपयोग कर सकते हैं // // ClassInitialize // [ClassInitialize ()] // का उपयोग करें public static void MyClassInitialize (TestContext testContext) {} // // क्लास में सभी टेस्ट के बाद क्लास चलाने के लिए ClassCleanup का उपयोग करें। प्रत्येक परीक्षण चलाने से पहले कोड को चलाने के लिए // [TestInitialize ()] // सार्वजनिक शून्य MyTestInitialize () {} // // TestCleanup का उपयोग करें ) {} // #endregion [TestMethod] सार्वजनिक शून्य TestMin () {// // TODO: यहां टेस्ट लॉजिक जोड़ें // int min; मिनट = कार्यक्रम .Min (3, 4, 5); जोर ।AreEqual (2, मिनट); }}}

5. परीक्षण चलाएं और परीक्षा परिणाम की जांच करें

Microsoft Visual Studio 2010 में, यूनिट टेस्ट के साथ काम करने के लिए टेस्ट नामक कमांड का एक विशेष मेनू लागू किया गया है।

एक निष्पादन परीक्षण चलाने के लिए, किसी एक कमांड का चयन करें।

टेस्ट -> रन -> वर्तमान संदर्भ में टेस्ट

या

टेस्ट -> रन -> समाधान में सभी परीक्षण

जैसा कि चित्र 8 में दिखाया गया है।

अंजीर। 8. स्टार्ट टेस्ट कमांड को कॉल करें और परिणाम देखें।

परीक्षण चलाने के बाद, परिणाम को परीक्षण परिणाम विंडो के निचले भाग में देखा जा सकता है। जैसा कि आंकड़े से देखा जा सकता है, परीक्षण पारित नहीं किया गया है। यह तार्किक है, क्योंकि Assert.AreEqual () फ़ंक्शन में हम संख्या 2 और 3 की तुलना करते हैं, जो अलग-अलग हैं। यहां, संख्या 3 के बजाय विशेष रूप से 2 को पेश किया गया है।

यदि संख्या 2 के बजाय आप सही उत्तर दर्ज करते हैं - संख्या 3 (3, 4, 5 के बीच न्यूनतम), तो परीक्षा उत्तीर्ण की जाएगी (चित्र 9)। इस मामले में, TestMin () विधि का पाठ इस प्रकार होगा:

... [TestMethod] सार्वजनिक शून्य TestMin () {// // TODO: यहाँ परीक्षण तर्क जोड़ें // int min; मिनट = कार्यक्रम .Min (3, 4, 5); जोर ।AreEqual (3, मिनट); } ...

परिणाम विंडो को चित्र 9 में दिखाया गया है।

अंजीर। 9. यदि आप सही उत्तर दर्ज करते हैं, तो केस के लिए परीक्षा परिणाम

अब हम यह निष्कर्ष निकाल सकते हैं कि इस मामले के लिए मिन () फ़ंक्शन सही ढंग से काम करता है।

6. परिणाम। परियोजनाओं के बीच सहभागिता

इस पत्र में, समाधान में दो परियोजनाएं बनती हैं। एक MinApp परियोजना में न्यूनतम () फ़ंक्शन होता है जिसे आप परीक्षण करना चाहते हैं। दूसरे प्रोजेक्ट TestMinApp में परीक्षण विधियाँ सम्‍मिलित हैं।

Microsoft Visual Studio 2010 में, प्रत्येक प्रोजेक्ट को अलग-अलग मेनू कमांड का उपयोग करके लॉन्च किया जाता है। तो, रन मेनू से मानक तरीके से मिनैप प्रोजेक्ट लॉन्च किया गया है। और TestMinApp प्रोजेक्ट को विशेष टेस्ट मेनू से लॉन्च किया गया है।

संबंधित विषय

Карта