Tesztelés a .NET-ben
Ez a cikk bemutatja a tesztelés fogalmát, és bemutatja, hogyan használhatók különböző típusú tesztek a kód ellenőrzésére. A .NET-alkalmazások teszteléséhez különböző eszközök érhetők el, például a .NET CLI vagy integrált fejlesztési környezetek (IDE-k).
Tesztelési típusok
Az automatizált tesztek nagyszerű módja annak, hogy az alkalmazáskód a szerzők szándékának megfelelően járjon el. Ez a cikk az egységteszteket, az integrációs teszteket és a terheléses teszteket ismerteti.
Egységtesztek
A egységteszt olyan teszt, amely az egyes szoftverösszetevőket vagy metódusokat, más néven a "munkaegységet" gyakorolja. Az egységtesztek csak a fejlesztő vezérlőjének kódját tesztelik. Nem tesztelik az infrastruktúra problémáit. Az infrastruktúrával kapcsolatos problémák közé tartozik az adatbázisok, a fájlrendszerek és a hálózati erőforrások használata.
Az egységtesztek létrehozásáról további információt Tesztelési eszközökcímű témakörben talál.
Integrációs tesztek
Az integrációs teszt abban különbözik az egységteszttől, hogy két vagy több szoftverösszetevő együttes működését gyakorolja, más néven az "integrációt". Ezek a tesztek a vizsgált rendszer szélesebb spektrumán működnek, míg az egységtesztek az egyes összetevőkre összpontosítanak. Az integrációs tesztek gyakran magukban foglalják az infrastruktúra problémáit is.
Terheléses tesztek
A terhelésteszt célja annak meghatározása, hogy egy rendszer képes-e kezelni egy adott terhelést. Például az alkalmazásokat használó egyidejű felhasználók száma és az alkalmazás képes az interakciók rugalmas kezelésére. További információk a webalkalmazások terheléses/terhelési teszteléséről: ASP.NET Core terheléses/terhelési tesztelés.
Tesztelési szempontok
Ne feledje, hogy a tesztek írásához ajánlott eljárások. Például tesztvezérelt fejlesztés (TDD) akkor történik, ha egységtesztet ír a kód elé, amit ellenőrizni kell. A TDD olyan, mint egy vázlat létrehozása egy könyvhez, mielőtt megírod. Az egységteszt segítségével a fejlesztők egyszerűbb, olvasható és hatékony kódot írhatnak.
Tesztelési eszközök
A .NET-ben végzett tesztek két összetevőből állnak: a tesztplatformból és a tesztelési keretrendszerből.
Tesztplatformok
A tesztplatform az a motor, amely futtatja a teszteket, és kommunikációs csatornaként működik az IDE-kkel. A Visual Studio például elküldhet egy felderítési kérelmet a tesztplatformnak, hogy megjeleníthesse az elérhető teszteket a Test Explorerben. A tesztplatform a talált tesztekkel válaszol az IDE-nek. Hasonló kommunikáció történik a tesztvégrehajtáshoz.
A VSTestet évek óta használják a .NET-ben, és ez volt az egyetlen tesztplatform az ökoszisztémában. 2024 elején megjelent a Microsoft.Testing.Platform (MTP) nevű új tesztplatform első stabil verziója.
Tesztelési keretrendszerek
A tesztelési keretrendszer a tesztplatformra épül. Tesztszerzőként határozza meg az Ön számára elérhető attribútumok és API-k készletét. Általában egy tesztadapter működteti, amely kommunikációs rétegként működik a tesztelési keretrendszer és a tesztplatform között. A népszerű tesztelési keretrendszerek az MSTest, az NUnit, a TUnit és a xUnit.net.
MSTest
MSTest az összes .NET-nyelv Microsoft-tesztkörnyezete. Bővíthető, és a .NET CLI, a Visual Studio, a Visual Studio Code és a Rider használatával működik. Támogatja a VSTestet és a Microsoft.Testing.Platformot is.
További információ:
- Microsoft.Testing.Platform támogatása az MSTest (MSTest futtató)
- C#-es egységtesztelés
- Egységtesztelés az F# nyelvvel
- egységtesztelés Visual Basic használatával
NUnit
NUnit egy egységtesztelési keretrendszer minden .NET-nyelvhez. Az NUnit kezdetben a JUnit-ból lett portolva, és a jelenlegi éles kiadást számos új funkcióval és a .NET-platformok széles körének támogatásával írták át. Ez a .NET Foundationprojektje. Támogatja a VSTestet és a Microsoft.Testing.Platformot is.
További információ:
- Microsoft.Testing.Platform támogatás az NUnit tesztfuttatóban
- Egységtesztelés C#-val
- egységtesztelés a F#-fel
- egységtesztelés a Visual Basic-kel
TUnit
TUnit teljes egészében a Microsoft.Testing.Platformra épül, és nem támogatja a VSTestet. További információkért tekintse meg a TUnit dokumentációját.
xUnit.net
A xUnit.net egy ingyenes, nyílt forráskódú, közösségközpontú egységtesztelési eszköz a .NET-hez. Az NUnit v2 eredeti feltalálója írta az xUnit.net-et. xUnit.net a .NET-alkalmazások egységtesztelésének legújabb technológiája. Az is működik a ReSharperrel, a CodeRush-sal és a TestDriven.NET-tel. xUnit.net a .NET Foundation projektje, és magatartási kódexe szerint működik. Támogatja a VSTestet és a Microsoft.Testing.Platformot is
További információ:
- Microsoft.Testing.Platform támogatása az xUnit.net v3-ban
- egységtesztelés C#
- F#-ben történő egységtesztelés
- egységtesztelés a Visual Basic használatával
Tesztek futtatása
.NET CLI
A .NET CLI használatával a dotnet test paranccsal futtathat egységteszteket egy megoldás összes tesztprojektjéből. A .NET CLI elérhetővé teszi az integrált fejlesztési környezetek (IDE-k) felhasználói felületeken keresztül elérhető funkciók többségét. A .NET CLI platformfüggetlen, és a folyamatos integrációs és szállítási folyamatok részeként használható. A .NET CLI szkriptes folyamatokkal használható a gyakori feladatok automatizálásához.
IDE
Akár Visual Studiót, Akár Visual Studio Code-ot vagy Ridert használ, grafikus felhasználói felületek állnak rendelkezésre a funkciók teszteléséhez. Az IDE-k számára több funkció érhető el, mint a CLI, például Élő egységtesztelés. További információért nézze meg a Tesztek belefoglalása és kizárása a Visual Studioban.
Lásd még:
További információkért lásd a következő cikkeket: