Első lépések az egységtesztelésben

A Visual Studio használatával egységteszteket határozhat meg és futtathat a kódállapot fenntartásához, a kódlefedettség biztosításához, valamint a hibák és hibák kereséséhez, mielőtt az ügyfelek ezt tennék. Az egységteszteket gyakran futtatva ellenőrizze, hogy a kód megfelelően működik-e.

Ebben a cikkben a kód C# és C++ nyelvet használ, az ábrák C#-ban találhatók, de a fogalmak és a funkciók .NET nyelvekre, a C++ nyelvre, a Python, a JavaScriptre és a TypeScriptre vonatkoznak.

Egységtesztek létrehozása

Ez a szakasz azt ismerteti, hogyan hozhat létre egységtesztelési projektet.

  1. Nyissa meg a tesztelni kívánt projektet Visual Studio.

    Egy példaegység-teszt bemutatásához ez a cikk egy egyszerű "„Helló világ!” alkalmazás" C# vagy C++ konzolprojektet tesztel HelloWorld néven. Egy ilyen projekt mintakódja a következő:

    namespace HelloWorld
    {
       public class Program
       {
          public static void Main()
          {
             Console.WriteLine("Hello World!");
          }
       }
    }
    
  2. A Megoldáskezelő-ben válassza ki a megoldás csomópontot. Ezután a felső menüsávon válassza a Fájlhozzáadásaúj projekt lehetőséget.

  3. Az új projekt párbeszédpanelen keresse meg a használni kívánt egységteszt-projektet.

    A keresőmezőbe beírva megkeresheti a használni kívánt tesztkörnyezethez tartozó egységteszt-projektsablont( például MSTest (C#) vagy natív egységteszt-projektet (C++), és jelölje ki.

    A Visual Studio .NET nyelvei beépített sablonokat tartalmaznak az NUnithoz és az xUnithoz. A C++ esetében ebben a példában válassza ki a Microsoft natív egységteszt-keretrendszert használó natív egységteszt-projektet . (Ha másik C++ tesztkörnyezetet szeretne használni, tekintse meg a C/C++-ra vonatkozó egységtesztek írását). Python esetében tekintse meg a Set up unit testing in Python code részt a tesztprojekt beállításához.

    Jótanács

    Ez a cikk azt ismerteti, hogyan hozhat létre manuálisan egységteszteket. Ha automatikusan szeretne teszteket létrehozni a meglévő kódból, tekintse meg a Egységtesztek generálása és futtatása GitHub Copilot teszteléssel .NET-hez, vagy más programozási nyelvek esetében nézze meg Perjel parancsok használata a GitHub Copilotban.

    Jótanács

    Ez a cikk azt ismerteti, hogyan hozhat létre manuálisan egységteszteket. Ha automatikusan szeretne teszteket létrehozni a meglévő kódból, tekintse meg a A C#-egység tesztmetódus-csonkainak létrehozása a kódból vagy más nyelvek esetében: Perjelparancsok használata GitHub Copilot

    Az alábbi ábrán egy MSTest egységteszt látható, amelyet a .NET támogat.

    Egységteszt projektsablon a Visual Studio 2022-ben

    Kattintson a Tovább gombra, válassza ki a tesztprojekt nevét, majd kattintson a Létrehozás gombra.

    A projekt hozzá lesz adva a megoldáshoz.

    Pillanatkép, amely egy egységteszt projektet mutat a Megoldáskezelőben.

    Egység tesztprojekt a Megoldáskezelőben

  4. Az egységtesztelési projektben adjon hozzá egy hivatkozást a tesztelni kívánt projekthez a jobb gombbal a Hivatkozások vagy függőségek elemre kattintva, majd válassza a Hivatkozás hozzáadása vagy a Projekthivatkozás hozzáadása lehetőséget.

  5. Jelölje ki a tesztelni kívánt kódot tartalmazó projektet, és kattintson az OK gombra.

     Projekthivatkozás hozzáadása Visual Studio

  6. Adjon hozzá kódot az egységtesztelési módszerhez.

    Használhatja például a következő kódot a tesztelési keretrendszernek megfelelő dokumentációs lap kiválasztásával: MSTest, NUnit vagy xUnit (csak .NET támogatott), vagy C++ Microsoft natív egységteszt-keretrendszer.

    • MSTest
    • NUnit
    • xUnit
    • A Microsoft natív egységtesztelési keretrendszere
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using System.IO;
    using System;
    
    namespace HelloWorldTests
    {
       [TestClass]
       public class UnitTest1
       {
          private const string Expected = "Hello World!";
          [TestMethod]
          public void TestMethod1()
          {
             using (var sw = new StringWriter())
             {
                Console.SetOut(sw);
                HelloWorld.Program.Main();
    
                var result = sw.ToString().Trim();
                Assert.AreEqual(Expected, result);
             }
          }
       }
    }
    

Egységtesztek futtatása

  1. Nyissa meg a Test Explorert.

    A Test Explorer megnyitásához válassza a TestTest Explorer lehetőséget a felső menüsávon (vagy nyomja le a CtrlE, billentyűkombinációt).

  2. Az egységtesztek futtatásához kattintson az Összes futtatása gombra (vagy nyomja le a CtrlR, billentyűkombinációt).

    A Test Explorert bemutató képernyőkép.

    Egységtesztek futtatása a Test Explorerben

    A tesztek befejezése után egy zöld pipa jelzi, hogy egy teszt sikeres volt. A piros "x" ikon azt jelzi, hogy egy teszt sikertelen volt.

    Képernyőkép az egységteszt eredményeiről a Test Explorerben.

    Egységtesztek eredményeinek áttekintése a Test Explorerben

Jótanács

A Test Explorer használatával egységteszteket futtathat a beépített tesztelési keretrendszerből (MSTest) vagy külső tesztelési keretrendszerekből. A teszteket kategóriákba csoportosíthatja, szűrheti a tesztlistát, és létrehozhat, menthet és futtathat tesztlistákat. Emellett hibakeresési teszteket is végezhet, és elemezheti a tesztteljesítményt és a kódlefedettségeket.

Élő egységteszt eredményeinek megtekintése (Visual Studio Enterprise)

Ha az MSTest, xUnit vagy NUnit tesztelési keretrendszert használja a 2017-Visual Studio vagy újabb verziókban, az egységtesztek élő eredményei láthatók.

Megjegyzés:

Az alábbi lépések végrehajtásához Visual Studio Enterprise szükséges, .NET kóddal és az alábbi tesztelési keretrendszerek egyikével együtt: MSTest, xUnit vagy NUnit.

  1. Kapcsolja be az élő egység tesztelését a Teszt menüből a TestLive Unit Testing Start (Élő egység teszteléseindítása) lehetőség választásával.

    Élő egységtesztelés indítása a Visual Studio 2022-ben

  2. A kód írása és szerkesztése során a kódszerkesztő ablakban tekintheti meg a tesztek eredményeit.

    Képernyőkép a tesztek eredményeiről.

    A tesztek eredményeinek megtekintése

  3. A teszteredmény-jelzőre kattintva további információkat jeleníthet meg, például az adott módszert lefedő tesztek nevét.

    Képernyőkép a teszt eredményjelzőiről.

    A teszt eredményjelzőinek kiválasztása

Az élő egység teszteléséről további információt az Élő egység tesztelése című témakörben talál.

Külső tesztelési keretrendszer használata

Az egységteszteket a programozási nyelvtől függően Visual Studio futtathatja olyan külső tesztkörnyezetek használatával, mint az NUnit, a Boost vagy a Google C++ tesztelési keretrendszer. Külső keretrendszer használata:

  • A NuGet Csomagkezelő használatával telepítse a NuGet-csomagot a választott keretrendszerhez.

  • (.NET) A 2017. Visual Studio 14.6-os verziójától kezdődően Visual Studio előre konfigurált tesztprojekt-sablonokat tartalmaz az NUnit és az xUnit tesztelési keretrendszerekhez. A sablonok tartalmazzák a támogatás engedélyezéséhez szükséges NuGet-csomagokat is.

  • (C++) A 2017-Visual Studio és újabb verziókban már tartalmaz néhány keretrendszert, például a Google C++ tesztelési keretrendszert. További információért lásd: Egységtesztek írása C/C++ nyelven a Visual Studio-ban.

Egységtesztelési projekt hozzáadása:

  1. Nyissa meg a tesztelni kívánt kódot tartalmazó megoldást.

  2. Kattintson a jobb gombbal a megoldásra a Megoldáskezelő és válassza a Add>New Project lehetőséget.

  3. Válasszon ki egy egységtesztelési projektsablont.

    Ebben a példában válassza az NUnit lehetőséget

    NUnit tesztprojektsablon a Visual Studio 2022-ben

    A projektsablon tartalmazza az NUnit és az NUnit3TestAdapter nuGet-hivatkozásait.

    Olyan képernyőkép, amely az NUnit NuGet-függőségeket jeleníti meg a Megoldáskezelőben.

    NUnit NuGet-függőségek a Megoldáskezelőben

  4. Adjon hozzá egy hivatkozást a tesztprojektből a tesztelni kívánt kódot tartalmazó projekthez.

    Kattintson a jobb gombbal a projektre a Megoldáskezelő, majd válassza a Add>Reference lehetőséget. (A Hivatkozások vagy függőségek csomópont jobb gombbal kattintva elérhető menüjéből is hozzáadhat hivatkozást.)

  5. Adjon hozzá kódot a tesztmetódushoz.

    Képernyőkép az egységtesztfájlban lévő kódról.

    Kód hozzáadása az egységteszt kódfájljához

  6. Futtassa a tesztet a Test Explorerben , vagy kattintson a jobb gombbal a tesztkódra, és válassza a Teszt(ek) futtatása (vagy CtrlR, T) lehetőséget.

Következő lépések

Az egységteszt alapjai

Egységtesztek létrehozása és futtatása felügyelt kódhoz

Írj egységteszteket C/C++-hoz