खोज…


परिचय

मैं आपको दिखाना चाहता हूं कि यूनिवर्सल विंडोज 10 एप्लिकेशन के लिए यूनिट टेस्ट कैसे बनाएं। UWP ऐप्स का परीक्षण करने के लिए हम xUnit.net फ्रेमवर्क का उपयोग करेंगे जिसके बारे में आप टिप्पणी अनुभाग में दिए गए लिंक से अधिक पढ़ सकते हैं।

टिप्पणियों

आप xUnit Framewwork के बारे में अधिक पढ़ सकते हैं: https://xunit.github.io/docs/getting-started-uwp.html

कॉन्फ़िगर करें अनुप्रयोग अनुप्रयोग

एक बार जब आपके पास परीक्षण के लिए आपका UWP आवेदन तैयार हो जाता है, तो आपको अपने समाधान में परीक्षण आवेदन जोड़ना चाहिए। इसे "सही" करने के लिए समाधान पर क्लिक करें और "यूनिट टेस्ट ऐप (यूनिवर्सल विंडोज)" चुनें:

यहाँ छवि विवरण दर्ज करें

एक बार जब आप इसे समाधान में जोड़ लेते हैं तो इसे कॉन्फ़िगर करने के लिए कुछ और चरणों की आवश्यकता होती है। आपको लक्ष्य और न्यूनतम प्लेटफ़ॉर्म संस्करण चुनने के लिए कहा जाएगा:

यहाँ छवि विवरण दर्ज करें

एक बार जब आप उन्हें चुन लेते हैं, तो "project.json" फ़ाइल खोलें और नीचे निर्भरताएँ जोड़ें:

"dependencies": 
 {
  "Microsoft.NETCore.UniversalWindowsPlatform": "5.1.0",
  "xunit.runner.visualstudio": "2.1.0",
  "xunit": "2.1.0",
  "xunit.runner.devices": "2.1.0"
 }

यूडब्ल्यूपी एप्लिकेशन के लिए यूनिट परीक्षणों को आसान बनाने के लिए NuGet xUnit फ्रेमवर्क पैकेज को डाउनलोड करने और जोड़ने के लिए इनका उपयोग किया जाता है।

"MSTestFramework.Universal" नामक संदर्भ निकालें:

यहाँ छवि विवरण दर्ज करें

अब “UnitTest.cs” फ़ाइल खोलें। नीचे जैसा दिखने के लिए इसे संशोधित करें:

using System;
using Xunit;

namespace UnitTestsForUwp
{
  public class UnitTest1
   {
       [Fact]
       public void TestMethod1()
        {
          Assert.Equal(4, 4);
        }

       [Theory]
       [InlineData(6)]
       public void TestMethod2(int value)
        {
          Assert.True(IsOdd(value));
        }

       bool IsOdd(int value)
        {
          return value % 2 == 1;
        }
     }
   }
}

XUnit विशेषताओं के बारे में थोड़ी बात करने के लिए एक पल के लिए यहां रुकना अच्छा है:

ए। तथ्य- परीक्षण जो हमेशा सच होते हैं। वे आक्रमणकारी परिस्थितियों का परीक्षण करते हैं।

ख। सिद्धांत - परीक्षण जो केवल डेटा के एक विशेष सेट के लिए सही हैं।

अब हम परीक्षण के बारे में जानकारी प्रदर्शित करने के लिए ऐप तैयार करना चाहते हैं लेकिन न केवल - परीक्षण शुरू करने का एक अच्छा तरीका होना अच्छा है। यह प्राप्त करने के लिए कि हमें "UnitTestApp.xaml" फ़ाइल में छोटे बदलाव करने होंगे। इसे खोलें और नीचे दिए गए सभी कोड को बदलें:

<ui:RunnerApplication
 x:Class="UnitTestsForUwp.App"
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:local="using:UnitTestsForUwp"
 xmlns:ui = "using:Xunit.Runners.UI"
 RequestedTheme="Light">
</ui:RunnerApplication>

याद रखें कि "स्थानीय" का आपके नाम स्थान जैसा ही नाम होना चाहिए।

अब "UnitTestApp.xaml.cs" खोलें और नीचे के साथ कोड बदलें:

sealed partial class App : RunnerApplication
 {
   protected override void OnInitializeRunner()
    {
      AddTestAssembly(GetType().GetTypeInfo().Assembly);
      InitializeRunner();
    }
    partial void InitializeRunner();
  }

बस! अब प्रोजेक्ट का पुनर्निर्माण करें और परीक्षण एप्लिकेशन लॉन्च करें। जैसा कि आप नीचे देख सकते हैं कि आपके पास अपने सभी परीक्षणों तक पहुंच है, आप उन्हें शुरू कर सकते हैं और परिणाम देख सकते हैं:

यहाँ छवि विवरण दर्ज करें

टेस्ट एप्लिकेशन को लक्ष्य एप्लिकेशन कोड से कनेक्ट करें

एक बार जब आपका परीक्षण आवेदन तैयार हो जाता है तो आप इसे उस कोड से जोड़ सकते हैं जिसके लिए आप यूनिट टेस्ट लिखना चाहते हैं।

या तो आपके पास पीसीएल में कोड है, या यूडब्ल्यूपी ऐप प्रोजेक्ट में (मेरा मानना है कि आपने एमवीवीएम पैटर्न लागू किया है) बस टेस्ट एप्लिकेशन प्रोजेक्ट में इसका संदर्भ जोड़ें:

यहाँ छवि विवरण दर्ज करें

अब आपके पास टेस्ट एप्लिकेशन से आपके सभी कोड तक पहुंच है। आप चाहते हैं कि यूनिट टेस्ट बनाएं। बस "तथ्य" या "सिद्धांत" का उपयोग करें।

कुछ कार्यक्षमता का मजाक उड़ाएं

एक बार जब आप अपना यूनिट टेस्ट लिखने के लिए तैयार हो जाते हैं, तो यह नकली होने के बारे में बताने लायक है। "सिंपलस्टब्स" नामक नया ढांचा है जो आपको इंटरफेस के आधार पर मॉक बनाने में सक्षम बनाता है।

GitHub प्रलेखन से सरल मामला:

//Sample interface:
public interface IPhoneBook
 {
   long GetContactPhoneNumber(string firstName, string lastName);
   long MyNumber { get; set; }
   event EventHandler<long> PhoneNumberChanged;
 }

//Mocked interface:
var stub = new StubIPhoneBook().GetContactPhoneNumber((firstName, lastName) => 6041234567);

आप इसके बारे में और अधिक यहाँ पढ़ सकते हैं: https://github.com/Microsoft/SimpleStubs



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow