Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
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ő:
- .NET
- C++
namespace HelloWorld { public class Program { public static void Main() { Console.WriteLine("Hello World!"); } } }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.
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.
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.
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.
Jelölje ki a tesztelni kívánt kódot tartalmazó projektet, és kattintson az OK gombra.
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
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).
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.
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.
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
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:
Nyissa meg a tesztelni kívánt kódot tartalmazó megoldást.
Kattintson a jobb gombbal a megoldásra a Megoldáskezelő és válassza a Add>New Project lehetőséget.
Válasszon ki egy egységtesztelési projektsablont.
Ebben a példában válassza az NUnit lehetőséget
A projektsablon tartalmazza az NUnit és az NUnit3TestAdapter nuGet-hivatkozásait.
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.)
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
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