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.
Az alkalmazás fejlesztése során az Élő egység tesztelése automatikusan futtatja az érintett egységteszteket a háttérben, és valós időben jeleníti meg az eredményeket és a kódlefedettségeket. A kód módosításakor az Élő egység tesztelése visszajelzést ad arról, hogy a módosítások hogyan befolyásolták a meglévő teszteket, és hogy a hozzáadott új kód egy vagy több meglévő teszt hatálya alá tartozik-e. Ez a visszajelzés emlékezteti az egységtesztek írására hibajavítások vagy új funkciók hozzáadása során.
Amikor élő egységtesztelést használ a tesztekhez, az megőrzi a tesztek állapotára vonatkozó adatokat. A tartós adatok használata lehetővé teszi, hogy az élő egység tesztelése kiváló teljesítményt nyújtson a tesztek dinamikus futtatása közben a kódmódosítások válaszában.
Az élő egységtesztelés csak a Visual Studio Enterprise kiadásában érhető el a .NET Core-t vagy a .NET-keretrendszert célzó projektekhez.
Támogatott tesztelési keretrendszerek
Az élő egységtesztelés az alábbi táblázatban felsorolt három népszerű egységtesztelési keretrendszerrel működik. Az adapterek és keretrendszerek minimálisan támogatott verziója is megjelenik. Az egységtesztelési keretrendszerek mind elérhetők a NuGet.org.
| Tesztelési keretrendszer | Visual Studio-adapter minimális verziója | Keretrendszer minimális verziója |
|---|---|---|
| xUnit.net | xunit.runner.visualstudio 2.2.0-beta3-build1187-es verzió | xunit 1.9.2 |
| NUnit | NUnit3TestAdapter 3.5.1-es verzió | NUnit 3.5.0-s verzió |
| MSTest | MSTest.TestAdapter 1.1.4-preview | MSTest.TestFramework 1.0.5-preview |
Ha régebbi, MICROSOFT.VisualStudio.QualityTools.UnitTestFramework rendszerre hivatkozó MSTest-alapú tesztprojektjei vannak, és nem szeretne áttérni az újabb MSTest NuGet-csomagokra, frissítsen a Visual Studio 2019-re vagy a Visual Studio 2017-re.
Bizonyos esetekben előfordulhat, hogy kifejezetten vissza kell állítania egy projekt által hivatkozott NuGet-csomagokat az élő egységtesztelés működéséhez. Két lehetőség áll rendelkezésre:
- Az explicit build alkalmazásával állítsd vissza a megoldást. Válassza a BuildRebuild Solution (Újraépítési megoldás>) lehetőséget a Felső szintű Visual Studio menüben.
- Csomagok visszaállítása a megoldásban. Kattintson a jobb gombbal a megoldásra, és válassza a NuGet-csomagok visszaállítása lehetőséget.
Konfigurálás
Amikor először indít élő egységtesztelést egy megoldáshoz, a telepítővarázslóval konfigurálhatja, hogy az élő egység tesztelésének hogyan kell létrehoznia és futtatnia a teszteket.
Amikor az Élő Egység Tesztelése le van állítva, megnyithatja a telepítővarázslót is, ha a Test>Élő Egység Tesztelése>Konfigurálás az Egység Teszteléshez megoldásra menüpontba lép.
Az élő egységtesztelés futtatásakor létrehoz egy munkaterületet, amely az eredeti adattár másolata. Az élő egység tesztelése ezután alkalmazza a Visual Studióban végzett nem mentett módosításokat a munkaterületre, elvégzi a buildelést, futtat egy tesztet, és jelentéseket készít a legújabb kódlefedettségről.
A varázslóval először azt kell konfigurálnia, hogy honnan kell másolni a fájlokat, és hová kell másolni őket.
Adattár gyökere
Az adattár gyökérkönyvtára határozza meg azt a mappát, amelyet átmásol az Élő egység tesztelése munkaterület létrehozásához. Az adattár gyökérmappájának kell lennie, vagyis minden forrást, bináris fájlt és eszközt tartalmaznia kell. Ha a megoldásfájl nem található az adattár gyökérkönyvtárában, előfordulhat, hogy módosítani kell az adattár gyökerét.
Munkaterület alapja
A munkaterület gyökérkönyvtára megadja a mappát, ahol a Live Unit Testing tárolja az adattár klónját. Figyelje meg azokat a kivételeket, amelyek azt jelzik, hogy az elérési út túl hosszú. Alapértelmezés szerint a gyökér a kezdőlap mappájában jön létre. Ha azonban az adattárat általában a C meghajtó alatt kell létrehoznia, akkor a munkaterület gyökere például így módosítható: C:\lut\Repo.
A kizárt fájlok megadása
Nem minden fájlt kell átmásolni az Élő egység tesztelése munkaterületre. A build során létrehozott összetevőket ki kell zárni a másolásból, hogy a normál buildek ne zavarják az élő egységtesztelési buildeket. Emellett a normál nuget restore parancsnak nem szabad zavarnia az Élő egység tesztelése nuget restore parancsot.
Az Élő egység tesztelése alapértelmezés szerint kizárja a fájlok két mintájának egyikét:
- A Git-adattárak esetében a gitignore-fájlban megadott fájlok nem lesznek átmásolva az Élő egység tesztelése munkaterületre.
- Nem Git-adattárak esetén a rendszer nem másolja át a mappák alapszintű listáját( például bin/ és obj/) az Élő egység tesztelése munkaterületre.
Összetettebb adattárak esetén előfordulhat, hogy saját mellőzött fájlt kell megadnia. Válassza az "<Egyéni>" lehetőséget a varázslóból. A Tovább gombra kattintva megjelenik egy egyéni mellőzött fájl tartalma, amelyet az Élő egység tesztelése hoz létre a varázsló befejezése után. Ez a lutignore fájl.
Megjegyzés:
Egyes Git-adattárakhoz egyéni lutignore-fájlra van szükség, mert a gitignore-fájl által szintén figyelmen kívül hagyott fájlokat is ellenőrizheti a Git-adattárban. Egyéni lutignore-fájl nélkül az Élő egység tesztelése nem másolja ezeket a fájlokat, ami buildelési hibákhoz vezethet.
Lutignore-fájlstruktúra
A lutignore fájl ugyanazt a formátumot használja, mint egy gitignore-fájl . Olyan szabályokat kell tartalmaznia, amelyek megfelelnek a build során létrehozott mappáknak vagy fájloknak, hogy azok ne legyenek átmásolva a munkaterületre. Az alapértelmezett projektsablonok többségéhez elegendő az alábbi figyelmen kívül hagyó fájl:
[Bb]in
[Oo]bj
# WILL NOT COPY ANY BIN AND OBJ FOLDERS TO THE LIVE UNIT TESTING WORKSPACE
Ha az adattár egyetlen buildmappával rendelkezik, a kihagyott fájlnak ehelyett a mappát kell listáznia:
[Aa]rtifacts/
# WILL NOT COPY THE ARTIFACTS FOLDER TO THE LIVE UNIT TESTING WORKSPACE
Ha az adattár más eszközöket is tartalmaz a buildmappában, ezeket az eszközöket ki kell zárni az egyező minták készletéből:
[Aa]rtifacts/
![Aa]rtifacts/tools/
# WILL NOT COPY THE ARTIFACTS FOLDER TO THE LIVE UNIT TESTING WORKSPACE
# HOWEVER IT WILL COPY THE TOOLS SUBFOLDER THAT MIGHT CONTAIN TOOLS AND UTILITIES
Összeállítási beállítások
A varázsló konfigurációs oldalának második része a buildelési beállítások konfigurálása:
- PDF-ek létrehozása: A build felgyorsításához az élő egység tesztelése nem hoz létre PDF-eket a buildek során. Ezek a szimbólumfájlok lehetővé teszik, hogy teszthibák előfordulásakor megnézze a verem nyomvonalait.
- Buildelés több CPU-mag használatával: Alapértelmezés szerint az Élő egység tesztelése több processzormag használatával végzi a buildelést, ami javítja az összeállítási időt. Ha a gép lelassul, vagy ha a megoldás nem épül fel több processzor használatával, ne válassza ezt a lehetőséget.
Futtatási beállítások tesztelése
A varázsló konfigurációs oldalának utolsó része a tesztfuttatási beállítások beállítása:
- Teszteset időtúllépése: Egyes tesztek futtatása hosszú időt vehet igénybe. A mező beállítása automatikusan megszakítja a futást, ha bármelyik teszt túllép egy adott időtartamot. A tesztek automatikusan megszakíthatók.
- Több processzor használata: Az Élő egység tesztelése alapértelmezés szerint több processzort próbál használni a futtatási teljesítmény felgyorsításához. Ha a gép lelassul, vagy ha a megoldás nem tudja párhuzamosan futtatni a teszteket, ne válassza ezt a lehetőséget. Ezek a forgatókönyvek például akkor fordulhatnak elő, ha több teszt próbál meg írni/olvasni ugyanabból a fájlelérési útból.
További konfiguráció
Az élő egység tesztelésének konfigurálásához válassza az Eszközök>beállításai lehetőséget a Visual Studio felső menüsávján.
A Beállítások panelen bontsa ki az Összes Beállítás>Teszt>Élő Egységtesztelés szakaszt.
A Beállítások párbeszédpanelen bontsa ki az Élő egység tesztelése>általános szakaszt.
Miután az élő egység tesztelése engedélyezve lett (lásd: Élő egység tesztelésének indítása, szüneteltetése és leállítása), a beállításokat újra megnyithatja azélő egység tesztelési>beállításainak>.
A konfigurálható beállítások a következők:
Azt jelzi, hogy az élő egység tesztelése szünetel-e a megoldás létrehozásakor és hibakeresésekor.
Azt jelzi, hogy az élő egység tesztelése szünetel-e, ha egy rendszer akkumulátorának teljesítménye egy megadott küszöbérték alá csökken.
Az összes tárolt adat törlésének lehetősége. Ez a funkció akkor hasznos, ha az élő egység tesztelése kiszámíthatatlan vagy váratlan módon viselkedik, ami arra utal, hogy a tárolt adatok sérültek.
Az élőegység-tesztelési folyamatok által használható memória maximális mennyisége.
Az Élő egység tesztelésének kimenete ablakba írt információk szintje.
A beállítások közé tartozik a nincs naplózás (Nincs), csak a hibaüzenetek (Hiba), a hibaüzenetek és az információs üzenetek (Információ, az alapértelmezett) vagy az összes részlet (Részletes).
Az Élő Egységtesztelés kimeneti ablakában részletes kimenetet is megjeleníthet úgy, hogy az
VS_UTE_DIAGNOSTICSnevű felhasználószintű környezeti változónak az 1 értéket adja. Ezután indítsa újra a Visual Studiót.Ha részletes MSBuild naplóüzeneteket szeretne rögzíteni egy fájlban az élő egység teszteléséből, állítsa be a
LiveUnitTesting_BuildLogfelhasználói szintű környezeti változót a fájl nevére, hogy tartalmazza a naplót.
A build testreszabása saját élő egységteszteléshez
Az összetettebb megoldásokhoz szükség lehet a build további testreszabására. Előfordulhat például, hogy nem szükséges fordítási fájlokat létrehozni a tesztfuttatások során. A buildek felgyorsításához letilthatja a fordítási fájl összeállítását az Élő egység tesztelésével. Ezt a projektfájlok módosításával teheti meg.
Élő egységtesztelési felülvezérlések hozzáadása
Ha a megoldáshoz egyéni lépések szükségesek az instrumentált (például élő egység teszteléséhez) build összeállításához, amelyek nem szükségesek a "normál", azaz nem instrumentált buildhez, hozzáadhat kódot a projekthez vagy a .targets fájlokhoz, amelyek ellenőrzik a BuildingForLiveUnitTesting tulajdonságot, és egyéni lépéseket hajtanak végre az építési folyamat előtt vagy után.
Megírhatja például a következő mintát egy másik, csak az élő egység teszteléséhez végrehajtott cél hozzáadásához:
<Target Name="GenerateNuGetPackages" BeforeTargets="AfterBuild" Condition="'$(BuildingForLiveUnitTesting)' == 'true'">
<Exec Command='"$(MSBuildThisFileDirectory)..\tools\GenPac" '/>
</Target>
A tulajdonság használatával BuildingForLiveUnitTesting letilthat bizonyos feladatokat, amelyeket nem szabad teszt buildekhez végrehajtani. Például az élő egységtesztelésben van egy beállítás <RunAnalyzers>false</RunAnalyzers> ami letiltja a tesztek elemzőit.
Élő egység tesztelési tesztfüggőségei
Lehetséges, hogy nem minden olyan fájlt másolt ki, amely a tesztek futtatásához szükséges. Az Élő egység tesztelése egy külön mappát hoz létre, ahol teszteket futtat. Ez az elrendezés lehetővé teszi a buildek futtatását a tesztek futtatása közben, de a buildmappa összes fájlja nem lesz átmásolva a tesztmappába.
Általában két okból adja hozzá a tesztfüggőségeket:
- A tesztek a forrásfa alatti fájloktól függenek. A tesztek például a resx fájlok tartalmát vizsgálják, vagy esetleg beolvasnak néhány konfigurációs fájlt.
- A tesztek az általuk hivatkozott kódtáraktól függenek. Egy teszt például függőségként létrehozott végrehajtható fájlt futtat.
Megjegyzés:
A tesztelési függőségeknek a telepítővarázsló adattár gyökérkönyvtáraként megadott könyvtárában kell lenniük.
Az Élő egység tesztelése alapértelmezés szerint nem másolja ezeket a fájlokat a tesztelés futtatásához másolandó fájlok számának minimalizálása érdekében. Ha a tesztfuttatáshoz szükség van ezekre a fájlokra, akkor az LiveUnitTestingTestDependency tulajdonság használatával expliciten meg kell adnia őket. Tegyük fel például, hogy a következő elrendezést vizsgáljuk meg:
SRC/
CONSOLE_UTILITY/
TEST_PROJECT/
ARTIFACTS/
CONSOLE_UTILITY/NET472/DEBUG/
TEST_PROJECT/NET472/DEBUG/
Alapértelmezés szerint, amikor az Élő Egységteszteléssel építi fel ezeket a projekteket, csak a Artifacts/Test_Project másolódik a tesztmappába. Ha forrásokat vagy a console_utility-t szeretne hozzáadni a tesztmappához, adja hozzá a következő mintát ehhez: test_project.csproj
<LiveUnitTestingTestDependency Include=”$(RepoRoot)/Src/ConsoleUtility” />
<LiveUnitTestingTestDependency Include=”$(RepoRoot)/Artifacts/ConsoleUtility/net472/$(Configuration)/</LiveUnitTestingTestDependency” />
Indítás, szüneteltetés és leállítás
Az élő egység tesztelésének engedélyezéséhez válassza> azÉlő egység tesztelésének>indítása lehetőséget a felső szintű Visual Studio menüben. Ha az élő egység tesztelése engedélyezve van, az Élő egység tesztelése menüben elérhető beállítások egyetlen elemről ( Start) és Szünetre ( Stop) változnak:
A szüneteltetés ideiglenesen felfüggeszti az élő egység tesztelését.
Ha az élő egység tesztelése szünetel, a lefedettségi vizualizáció nem jelenik meg a szerkesztőben, de a gyűjtött adatok megmaradnak. Az élő egység tesztelésének folytatásához válassza a Folytatás lehetőséget az Élő egység tesztelése menüben. Az élő esettesztelés elvégzi a szükséges munkát, hogy felzárkóztatja a szüneteltetés alatt végrehajtott összes módosítást, és megfelelően frissíti a glifákat.
Teljesen leállítja az élő egység tesztelését. Az élő egységtesztelés elveti az összes összegyűjtött adatot.
Ha olyan megoldásban indítja el az élő egységtesztelést, amely nem tartalmaz egységtesztelési projektet, a Szüneteltetés és a Leállítás lehetőség megjelenik az Élő egység tesztelése menüben, de az élő egység tesztelése nem indul el. A Kimeneti ablakban megjelenik egy "A megoldás nem hivatkozik támogatott tesztadapterekre...".
Bármikor ideiglenesen szüneteltetheti vagy teljesen leállhatja az élő egység tesztelését. Érdemes lehet például elvégezni ezeket a műveleteket, ha a refaktorálás közepén vagy, és tudod, hogy a tesztek egy ideig nem fognak működni.
Tesztprojektek és tesztelési módszerek belefoglalása és kizárása
Amikor elindítja az élő egység tesztelését, megjelenik az Élő egység tesztelése eszköz ablaka, és kéri, hogy válassza ki az élő egység tesztelése által tesztelni kívánt tesztkészletet.
Az olyan kisebb megoldások esetében, ahol az egységtesztek futtatása nagyon kevés időt vesz igénybe, válassza az Összes teszt belefoglalása lehetőséget, amely az élő egységtesztelést az összes teszt futtatására teszi.
A sok tesztprojektet tartalmazó nagyobb megoldások esetében a lejátszási lista szerkesztésével szabályozhatja, hogy a projekt mely projektjei és egyes módszerei vegyenek részt az Élő egység tesztelésében. Ha például több száz tesztprojektet tartalmazó megoldással rendelkezik, kiválaszthat egy célzott tesztprojekt-készletet az élő egység tesztelésében való részvételhez.
Az Élő egység tesztelése funkció futtatásához szerkeszthet egy élő egységtesztelési lejátszási listát, amely ugyanúgy működik, mint a Tesztkezelő lejátszási listái.
Az élő egységtesztelés lejátszási listája többféleképpen szerkeszthető.
- Élő egység tesztelése eszköz ablak
- A kódszerkesztő ablaka
- Megoldáskezelő
- Programozott módon a tesztkódban
Az Live Unit Testing felhasználói beállításként menti a belefoglalási/kizárási állapotot, és megjegyzi, amikor egy projektet bezárnak és újra megnyitnak.
Élő egység tesztelése eszköz ablak
Az Élő egység tesztelése lap lejátszási listaszerkesztőjével projekteket, névtereket vagy osztályokat vehet fel vagy zárhat ki a végrehajtásból. Válassza a Lejátszási lista szerkesztése lehetőséget az eszközablakban.
Kijelölheti vagy törölheti a fanézet elemeit a tesztek bevonása vagy kihagyása érdekében. Ha például egyetlen tesztet ellenőriz, az Élő egységtesztelés a módosításokon futtatja azt. Ha kiválaszt egy osztályt, az osztály összes tesztje és az adott osztályhoz hozzáadott új tesztek is lefutnak.
A kódszerkesztő ablaka
A kódszerkesztő ablakával befoglalhatja vagy kizárhatja az egyes tesztelési módszereket. Kattintson a jobb gombbal a tesztmetódus aláírására vagy törzsére a kódszerkesztő ablakban, és válasszon az alábbi lehetőségek közül:
- Élő egység tesztelése>A kijelölt metódus< belefoglalása >
- Élő egység tesztelése>Kijelölt metódus< kizárása >
- Élő egység tesztelése>Az összes kizárása, kivéve <a kijelölt metódust>
Megoldáskezelő
Az egyes projektek egységtesztekben való kiválasztásához kövesse az alábbi lépéseket az élő egységtesztelés elindítása után:
- Kattintson a jobb gombbal a megoldásra a Megoldáskezelőben , és válassza az Élő egység tesztelésének>kizárása lehetőséget a teljes megoldás kizárásához.
- Kattintson a jobb gombbal minden tesztprojektre, amelyet bele szeretne foglalni a tesztekbe, és válassza az Élő egység tesztelési>belefoglalása lehetőséget.
Programozott módon a tesztkódban
Az attribútumot alkalmazhatja arra, hogy programozott módon kizárja a ExcludeFromCodeCoverageAttribute metódusokat, osztályokat vagy struktúrákat az élő egységtesztelésben való lefedettségük jelentéséből.
Az alábbi attribútumokkal kizárhat egyes metódusokat az élő egységtesztelésből:
-
xUnit:
[Trait("Category", "SkipWhenLiveUnitTesting")] -
NUnit:
[Category("SkipWhenLiveUnitTesting")] -
MSTest:
[TestCategory("SkipWhenLiveUnitTesting")]
Az alábbi attribútumokkal kizárhat egy teljes tesztkészletet az élő egységtesztelésből:
-
xUnit:
[assembly: AssemblyTrait("Category", "SkipWhenLiveUnitTesting")] -
NUnit:
[assembly: Category("SkipWhenLiveUnitTesting")] -
MSTest:
[assembly: TestCategory("SkipWhenLiveUnitTesting")]
Lefedettségi vizualizáció megtekintése
Az élő egység tesztelésének engedélyezése után frissíti a Visual Studio-szerkesztőben található kódsorokat, hogy megmutassa, az ön által írt kódra kiterjednek-e egységtesztek, és hogy az azt lefedő tesztek átmennek-e.
Az alábbi képen az átmenő és sikertelen teszteket tartalmazó kódsorok, valamint a tesztek által nem lefedett kódsorok láthatók. A „✓” jelzéssel ellátott zöld vonalak csak akkor tekinthetők lefedettnek, ha sikeresek a tesztek. A piros "x"-et tartalmazó vonalakat egy vagy több sikertelen teszt fedi le. A kék "➖" vonallal rendelkező vonalakat nem fedi le semmilyen teszt.
Az élő egységtesztelés lefedettségi vizualizációja azonnal frissül, amikor kódokat módosít a kódszerkesztőben. A módosítások feldolgozása közben a vizualizációk úgy változnak, hogy jelezzék az adatok nem naprakész mivoltát: egy kerek időzítőképet adnak az átadott, sikertelen és nem lefedett szimbólumok alá, ahogyan az alábbi kép mutatja.
Információk lekérése a teszt állapotáról
Ha a kódablakban az átadott vagy sikertelen szimbólum fölé viszi az egérmutatót, láthatja, hogy hány teszt éri el ezt a vonalat. Az egyes tesztek állapotának megtekintéséhez válassza ki a szimbólumot.
A tesztek nevének és eredményének megadása mellett az elemleírás lehetővé teszi a tesztkészlet újrafuttatását vagy hibakeresését. Ha kiválaszt egy vagy több tesztet az elemleírásban, akkor csak ezeket a teszteket futtathatja vagy hibakeresést végezhet. Ez a művelet lehetővé teszi a tesztek hibakeresését anélkül, hogy ki kellene lépnie a kódablakból.
Hibakereséskor a már beállított töréspontok megfigyelése mellett a program végrehajtása szünetel, amikor a hibakereső végrehajt egy Assert váratlan eredményt visszaadó metódust.
Ha az információs buborékban egy sikertelen teszt fölé viszi az egérmutatót, kibővül, hogy további információt nyújtson a hibáról, ahogyan az az alábbi képen látható. Ha közvetlenül egy sikertelen tesztre szeretne lépni, kattintson rá duplán az eszköztippben.
A sikertelen teszt elvégzésekor az Élő egység tesztelése vizuálisan jelzi a metódus aláírásában azokat a teszteket, amelyek a következőkkel rendelkeznek:
- Átment (jelezve egy félig töltött lombik mellett egy zöld "✓").
- Nem sikerült (egy félig teli lombik és egy piros "🞩" jelzi).
- Nem vesznek részt a Live Unit Testingben (amit egy fél-teli lombik és egy kék "➖" jel mutat).
A nem tesztelt metódusok nem azonosíthatók szimbólummal. Az alábbi kép mind a négy metódustípust szemlélteti.
Tesztelési hibák diagnosztizálása és javítása
A sikertelen tesztből egyszerűen hibakeresést végezhet a termékkódban, szerkesztheti a módosításokat, és folytathatja az alkalmazás fejlesztését. Mivel az élő egység tesztelése a háttérben fut, nem kell leállítania és újraindítania az élő egység tesztelését a hibakeresés, a szerkesztés és a folytatási ciklus során.
Az előző képen látható teszthibát például az okozta, hogy a vizsgálati módszer helytelen feltételezte, hogy a nem betűs karakterek true értéket adnak vissza, amikor átadják a System.Char.IsLower metódusnak. A tesztelési módszer kijavítása után az összes tesztnek át kell mennie. Nem kell szüneteltetnie vagy leállítania az élő egység tesztelését.
Élő egység tesztelési ablaka
A Test Explorerhez hasonló élő egységtesztelés egy olyan felületet biztosít, amellyel teszteket futtathat és hibakeresést végezhet, és elemezheti a teszteredményeket. Ha az élő egység tesztelése engedélyezve van, a Test Explorer egységtesztjeinek állapota azonnal frissül. Nem kell explicit módon futtatnia az egységteszteket.
Ha az élő egység tesztelése nincs engedélyezve vagy le van állítva, az élő egységtesztelés a teszt utolsó futtatásakor jeleníti meg az egységtesztek állapotát. Az élő egység tesztelésének újraindítása után a tesztek újrafuttatásához forráskód-módosításra van szükség.
Az élő egység tesztelésének elindításához válassza a Test>Live Unit Testing Start (Élő egység tesztelése>indítása ) lehetőséget a felső szintű Visual Studio menüben. Az Élő egység tesztelése ablakot azEgyéb Windows>Élő egység tesztelési ablakának> is megnyithatja.
Az Élő egység tesztelése ablakban észreveheti, hogy egyes tesztek elhalványulnak. Ha például leállítja és újraindítja az élő egység tesztelését, az Élő egység tesztelése ablak elhalványul az összes teszten, ahogy az alábbi képen látható.
Az elhalványult teszteredmények azt jelzik, hogy a teszt nem része a legújabb élő egységteszt-futtatásnak. A tesztek csak a teszt módosításakor vagy a teszt függőségeinek észlelésekor futnak. Ha nincs változás, elkerüli a teszt szükségtelen futtatását. Ebben az esetben a kiszürkített teszteredmény továbbra is "naprakész", bár nem volt része a legutóbbi futásnak.
Kódmódosítással újrafuttathatja az elhalványultnak tűnő teszteket.
Van néhány különbség az élő egység tesztelése automatikus futtatása és a teszteredmények frissítése és a Tesztkezelőből explicit módon futó tesztek között. Ezek a különbségek a következők:
- A Tesztkezelő ablak tesztjeinek futtatása vagy hibakeresése normál bináris fájlokat futtat. Az élő egységtesztelés eszközalapú bináris fájlokat futtat.
- Az élő egység tesztelése nem hoz létre új alkalmazástartományt a tesztek futtatásához. Ehelyett az alapértelmezett tartományból futtat teszteket. A Test Explorer ablakból futtatott tesztek új alkalmazástartományt hoznak létre.
- Az élő egységtesztelés egymás után futtatja a teszteket az egyes tesztszerelvényekben. A Test Explorer ablakban több tesztet is futtathat párhuzamosan.
Élő egység tesztelési tesztfuttatásának megszakítása
Az élő egységtesztelés folyamatosan futtat teszteket, amikor bármilyen kódmódosítást hajt végre. Ha egy futtatás folyamatban van, és további kódmódosításokat hajt végre, az Élő Egység Tesztelés sorba állít egy új futtatást, miközben az első futtatás befejezésére vár.
Valahányszor fájlokat ment, a Live Unit Testing megszakítja az első futtatást, és azonnal ütemezi a várólistán lévő futtatást. Ez a folyamat olyan forgatókönyvekben segít, ahol az első futtatás hosszú időt vett volna igénybe.