Delen via


Live Unit Testing configureren en gebruiken

Tijdens het ontwikkelen van een toepassing voert Live Unit Testing automatisch alle betrokken eenheidstests op de achtergrond uit en worden de resultaten en codedekking in realtime weergegeven. Wanneer u uw code wijzigt, geeft Live Unit Testing feedback over hoe uw wijzigingen van invloed zijn op bestaande tests en of de nieuwe code die u hebt toegevoegd, wordt gedekt door een of meer bestaande tests. Deze feedback herinnert u eraan om eenheidstests te schrijven wanneer u bugfixes maakt of nieuwe functies toevoegt.

Wanneer u Live Unit Testing gebruikt voor uw tests, worden gegevens over de status van uw tests bewaard. Door persistente gegevens te gebruiken, kunnen Live Unit Testing uitstekende prestaties bieden tijdens het dynamisch uitvoeren van uw tests als reactie op codewijzigingen.

Live Unit Testing is alleen beschikbaar in de Enterprise-editie van Visual Studio voor projecten die gericht zijn op .NET Core of .NET Framework.

Ondersteunde test-frameworks

Live Unit Testing werkt met de drie populaire frameworks voor eenheidstests die worden vermeld in de volgende tabel. De minimaal ondersteunde versie van hun adapters en frameworks wordt ook weergegeven. De frameworks voor het testen van eenheden zijn allemaal beschikbaar vanuit NuGet.org.

Testframework Minimale versie van Visual Studio-adapter Minimale frameworkversie
xUnit.net xunit.runner.visualstudio versie 2.2.0-beta3-build1187 xunit 1.9.2
Eenheid NUnit3TestAdapter versie 3.5.1 NUnit versie 3.5.0
MSTest MSTest.TestAdapter 1.1.4-preview MSTest.TestFramework 1.0.5-preview

Als u oudere op MSTest gebaseerde testprojecten hebt die verwijzen naar Microsoft.VisualStudio.QualityTools.UnitTestFramework en u niet wilt overstappen op de nieuwere MSTest NuGet-pakketten, voert u een upgrade uit naar Visual Studio 2019 of Visual Studio 2017.

In sommige gevallen moet u mogelijk expliciet de NuGet-pakketten herstellen waarop een project zich beroept voor Live Unit Testing. U hebt twee opties:

  • Herstel door een expliciete build van de oplossing uit te voeren. Selecteer Build>Rebuild Solution in het bovenste menu van Visual Studio.
  • Herstel softwarepakketten in de oplossing. Klik met de rechtermuisknop op de oplossing en selecteer NuGet-pakketten herstellen.

Configure

De eerste keer dat u Live Unit Testing voor een oplossing start, kunt u met een installatiewizard de manier configureren waarop Live Unit Testing tests moeten bouwen en uitvoeren.

Wanneer Live Unit Testing is gestopt, kunt u ook de installatiewizard openen door naar Test>Live Unit Testen>Live Unit Testing configureren voor de oplossing te gaan.

Wanneer Live Unit Testing wordt uitgevoerd, wordt er een werkruimte gemaakt. Dit is een kopie van de oorspronkelijke opslagplaats. Live Unit Testing past vervolgens niet-opgeslagen wijzigingen toe die u in Visual Studio hebt aangebracht in de werkruimte, voert een build uit, voert een testuitvoering uit en rapporteert over de nieuwste codedekking.

Het eerste wat u moet configureren met behulp van de wizard is waar de bestanden moeten worden gekopieerd en waar ze naar moeten worden gekopieerd.

Schermopname van pagina 1 van de configuratiewizard voor Live Unit Testing.

Hoofdmap van opslagplaats

De hoofdmap van het repository specificeert de map die wordt gekopieerd om de Live Unit Testing-werkruimte te maken. Dit moet de hoofdmap van de opslagplaats zijn, dat wil gezegd, het moet alle bronnen, binaire bestanden en hulpprogramma's bevatten. In gevallen waarin het oplossingsbestand niet aanwezig is in de hoofdmap van de opslagplaats, moet de hoofdmap van de opslagplaats mogelijk worden gewijzigd.

Hoofdmap van werkruimte

De rootmap van de werkruimte specificeert de map waarin Live Unit Testing een kloon van de opslagplaats bewaart. Let op uitzonderingen die aangeven dat het pad te lang is. Standaard wordt de rootmap gecreëerd onder uw home-directory. Als u echter normaal gesproken uw opslagplaats moet maken onder station C, kan de root van de werkruimte worden aangepast aan bijvoorbeeld C:\lut\Repo.

De uitgesloten bestanden opgeven

Niet alle bestanden moeten worden gekopieerd naar de werkruimte Live Unit Testing. Artefacten die tijdens de build worden gegenereerd, moeten worden uitgesloten van het kopiëren, zodat de reguliere builds geen invloed hebben op de Live Unit Testing-builds. De reguliere nuget restore opdracht mag ook niet interfereren met de live-eenheidstestopdracht nuget restore .

Live Unit Testing sluit standaard een van de twee patronen van bestanden uit:

  • Voor Git-opslagplaatsen worden bestanden die zijn opgegeven in het gitignore-bestand , niet gekopieerd naar de werkruimte Live Unit Testing.
  • Voor niet-Git-opslagplaatsen wordt een basislijst met mappen, zoals bin/ en obj/, niet gekopieerd naar de werkruimte Live Unit Testing.

Voor complexere opslagplaatsen moet u mogelijk uw eigen genegeerde bestand opgeven. Selecteer de optie "<Aangepast>" in de wizard. Nadat u Volgende hebt geselecteerd, wordt de inhoud van een aangepast negeerbestand dat Live Unit Testing maakt nadat u de wizard hebt voltooid weergegeven. Het is het lutignore bestand.

Opmerking

Er is een aangepast lutignore-bestand nodig voor sommige Git-opslagplaatsen, omdat het mogelijk is om bestanden te controleren in de Git-opslagplaats die ook worden genegeerd door het gitignore-bestand . Zonder een aangepast lutignore-bestand worden deze bestanden niet gekopieerd door Live Unit Testing, wat kan leiden tot buildfouten.

Lutignore-bestandsstructuur

Het lutignore-bestand gebruikt dezelfde indeling als een gitignore-bestand . Het moet regels bevatten die overeenkomen met de mappen of bestanden die tijdens de build zijn gegenereerd, zodat ze niet naar de werkruimte worden gekopieerd. Voor de meeste standaardprojectsjablonen is het volgende genegeerde bestand voldoende:

[Bb]in
[Oo]bj
# WILL NOT COPY ANY BIN AND OBJ FOLDERS TO THE LIVE UNIT TESTING WORKSPACE

Als uw opslagplaats één buildmap heeft, moet het genegeerde bestand in plaats daarvan die map vermelden:

[Aa]rtifacts/
# WILL NOT COPY THE ARTIFACTS FOLDER TO THE LIVE UNIT TESTING WORKSPACE

Als uw opslagplaats enkele andere hulpprogramma's in de buildmap bevat, moeten deze hulpprogramma's worden uitgesloten in de set overeenkomende patronen:

[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

Build-opties

Het tweede deel van de configuratiepagina van de wizard is de plek waar u buildopties configureert:

  • PDBs genereren: Live Unit Testing genereert geen PDBs tijdens builds om de build te versnellen. Met deze symboolbestanden kunt u naar de stacktraceringen gaan wanneer er testfouten optreden.
  • Bouwen met behulp van meerdere CPU-kernen: Live Unit Testing voert standaard builds uit met behulp van meerdere CPU-kernen, waardoor de buildtijden worden verbeterd. Als uw computer vertraagt of als uw oplossing niet kan worden gebouwd met meerdere processors, selecteert u deze optie niet.

Testuitvoeringsopties

Het laatste deel van de configuratiepagina van de wizard is waar u de testuitvoeringsopties instelt:

  • Time-out van testcases: Het kan lang duren voordat sommige tests zijn uitgevoerd. Als u dit veld instelt, wordt de uitvoering automatisch afgebroken als een van de tests een bepaalde tijdsduur overschrijdt. De tests kunnen automatisch worden geannuleerd.
  • Gebruik meerdere processors: Live Unit Testing probeert standaard meerdere processors te gebruiken om de prestaties van de uitvoering te versnellen. Als uw computer vertraagt of als uw oplossing geen tests parallel kan uitvoeren, selecteert u deze optie niet. Deze scenario's kunnen bijvoorbeeld optreden als meerdere tests proberen te schrijven/lezen vanuit dezelfde bestandspaden.

Meer configuratie

Configureer Live Unit Testing doorExtra-opties> te selecteren op de menubalk van Visual Studio op het hoogste niveau.

In het Opties deelvenster, vouw de sectie Alle Instellingen>Test>Live Unit Testing uit.

Schermopname van configuratieopties voor live-eenheid testen.

Vouw in het dialoogvenster Opties de sectie Live-eenheidstest>Algemeen uit.

Schermopname van configuratieopties voor live-eenheid testen.

Nadat Live Unit Testen is ingeschakeld (zie Live Unit Testen starten, onderbreken en stoppen), kunt u de opties opnieuw openen door TestLive Unit Testing>Options te selecteren>.

De configureerbare opties zijn onder andere:

  • Of live-eenheidstests pauzeren wanneer een oplossing gebouwd en gedebugged wordt.

  • Of het testen van live-eenheden wordt onderbroken wanneer de accustroom van een systeem onder een opgegeven drempelwaarde valt.

  • De mogelijkheid om alle persistente gegevens te verwijderen. Deze mogelijkheid is handig wanneer Live Unit Testing zich op een onvoorspelbare of onverwachte manier gedraagt, wat aangeeft dat de persistente gegevens beschadigd zijn.

  • De maximale hoeveelheid geheugen die Live Unit Testing-processen kunnen verbruiken.

  • Het informatieniveau dat naar het Live Unit Testing-uitvoervenster is geschreven.

    Opties omvatten geen logboekregistratie (geen), alleen foutberichten (fout), fout- en informatieve berichten (info, de standaardinstelling) of alle details (uitgebreid).

    U kunt ook uitgebreide uitvoer weergeven in het Uitvoer-venster van Live Unit Testing door een waarde van 1 toe te wijzen aan een omgevingsvariabele op gebruikersniveau genaamd VS_UTE_DIAGNOSTICS. Start Vervolgens Visual Studio opnieuw.

    Als u gedetailleerde MSBuild-logboekberichten van Live Unit Testing in een bestand wilt vastleggen, stelt u de LiveUnitTesting_BuildLog omgevingsvariabele op gebruikersniveau in op de naam van het bestand dat het logboek bevat.

Uw build aanpassen voor live-eenheidstests

Voor complexere oplossingen kan het nodig zijn om de build verder aan te passen. Het is bijvoorbeeld niet nodig om vertaalbestanden te bouwen tijdens testuitvoeringen. Als u de builds sneller wilt maken, kunt u de build van het vertaalbestand uitschakelen met Live Unit Testing. U kunt dit doen door de projectbestanden te bewerken.

Overschrijvingen voor live-eenheidstests toevoegen

Als voor uw oplossing aangepaste stappen nodig zijn om te bouwen voor instrumentatie (Live Unit Testing) die niet vereist zijn voor de 'reguliere' niet-geïnstrueerde build, kunt u code toevoegen aan uw project- of .targets-bestanden die op de BuildingForLiveUnitTesting eigenschap controleren en aangepaste pre-/post-buildstappen uitvoeren.

U kunt bijvoorbeeld het volgende voorbeeld schrijven om een ander doel toe te voegen dat alleen wordt uitgevoerd voor live-eenheidstests:

<Target Name="GenerateNuGetPackages" BeforeTargets="AfterBuild" Condition="'$(BuildingForLiveUnitTesting)' == 'true'">
    <Exec Command='"$(MSBuildThisFileDirectory)..\tools\GenPac" '/>
</Target>

U kunt de BuildingForLiveUnitTesting eigenschap gebruiken om bepaalde taken uit te schakelen die niet moeten worden uitgevoerd voor test-builds. Live Unit Testing configureert bijvoorbeeld <RunAnalyzers>false</RunAnalyzers> om analyseren voor tests uit te schakelen.

Testafhankelijkheden voor live-unittests

Het is mogelijk dat niet alle bestanden zijn gekopieerd die nodig zijn om de tests uit te voeren. Live Unit Testing maakt een afzonderlijke map waarin tests worden uitgevoerd. Met deze rangschikking kunnen builds worden uitgevoerd terwijl de tests worden uitgevoerd, maar niet alle bestanden uit de buildmap worden gekopieerd naar de testmap.

Normaal gesproken voegt u de testafhankelijkheden toe om een van de volgende twee redenen:

  • Uw tests zijn afhankelijk van bestanden onder de bronstructuur. De tests onderzoeken bijvoorbeeld de inhoud van de resx-bestanden of lezen enkele configuratiebestanden.
  • Uw tests zijn afhankelijk van sommige bibliotheken waarnaar ze verwijzen. Met een test wordt bijvoorbeeld een uitvoerbaar bestand uitgevoerd dat is gebouwd als een afhankelijkheid.

Opmerking

Testafhankelijkheden moeten bestaan in de map die is opgegeven als opslagplaatshoofdmap in de installatiewizard.

In beide gevallen worden deze bestanden standaard niet gekopieerd voor het minimaliseren van het aantal bestanden dat moet worden gekopieerd om een test uit te voeren. U moet deze bestanden expliciet opgeven met behulp van de LiveUnitTestingTestDependency eigenschap als ze nodig zijn voor een testuitvoering. Stel dat we de volgende indeling hebben:

SRC/
  CONSOLE_UTILITY/
  TEST_PROJECT/
ARTIFACTS/
  CONSOLE_UTILITY/NET472/DEBUG/
  TEST_PROJECT/NET472/DEBUG/

Standaard wordt Artifacts/Test_Project alleen naar de testmap gekopieerd wanneer u deze projecten bouwt met Live Unit Testing. Als u bronnen of de console_utility wilt toevoegen aan de testmap, voegt u het volgende voorbeeld toe aan test_project.csproj:

<LiveUnitTestingTestDependency Include=”$(RepoRoot)/Src/ConsoleUtility” />
<LiveUnitTestingTestDependency Include=”$(RepoRoot)/Artifacts/ConsoleUtility/net472/$(Configuration)/</LiveUnitTestingTestDependency” />

Starten, onderbreken en stoppen

Als u Live Unit Testen wilt inschakelen, selecteert u Test>Live Unit Testing>Start in het menu Visual Studio op het hoogste niveau. Wanneer Live Unit Testing is ingeschakeld, veranderen de opties die beschikbaar zijn in het Live Unit Testing menu van één item, Starten, naar Pauzeren en Stoppen:

  • Pauze schort tijdelijk het testen van live-eenheden op.

    Wanneer het testen van live-eenheden is onderbroken, wordt de visualisatie van de dekking niet weergegeven in de editor, maar blijven alle verzamelde gegevens behouden. Als u Live Unit Testen wilt hervatten, selecteert u Doorgaan in het menu Live Unit Testen . Live Unit Testing doet het benodigde werk om alle wijzigingen in te halen die zijn aangebracht terwijl deze zijn onderbroken en de glyphs op de juiste manier bij te werken.

  • Stop stopt de Live Unit Testing volledig. Met Live Unit Testing worden alle verzamelde gegevens verwijderd.

Als u Live Unit Testen start in een oplossing die geen eenheidstestproject bevat, worden de opties Onderbreken en Stoppen weergegeven in het menu Live Unit Testen , maar Live Unit Testing wordt niet gestart. In het uitvoervenster wordt een bericht weergegeven met de tekst 'Er wordt niet naar ondersteunde testadapters verwezen door deze oplossing...'.

Op elk gewenst moment kunt u live-eenheidstests tijdelijk onderbreken of volledig stoppen. Misschien wil je deze acties uitvoeren, bijvoorbeeld als je midden in de refactoring zit en weet dat je tests een tijdje niet zullen werken.

Testprojecten en testmethoden opnemen en uitsluiten

Wanneer u Live Unit Testing start, wordt het venster Live Unit Testing weergegeven en wordt u gevraagd om de set tests te selecteren die u wilt testen door Live Unit Testing.

Schermopname van het taakvenster dat wordt weergegeven wanneer Live Unit Testing voor het eerst wordt gestart.

Voor kleinere oplossingen waarbij de eenheidstests weinig tijd in beslag nemen, selecteert u Alle tests opnemen, waardoor Live Unit Testing alle tests uitvoert.

Voor grotere oplossingen met veel testprojecten kunt u bepalen welke projecten en afzonderlijke methoden in een project deelnemen aan Live Unit Testing door de afspeellijst te bewerken. Als u bijvoorbeeld een oplossing hebt met honderden testprojecten, kunt u een doelset testprojecten selecteren om deel te nemen aan Live Unit Testing.

U kiest welke Live Unit Testing moet worden uitgevoerd door een afspeellijst voor live-eenheidstests te bewerken, een functie die net als afspeellijsten in Test Explorer werkt.

Er zijn meerdere manieren om de live-eenheidstestafspeellijst te bewerken:

  • Hulpprogrammavenster voor live-unittesting
  • Het venster van de code-editor
  • Solution Explorer
  • Programmatisch in testcode

Live Unit Testing slaat de status opnemen/uitsluiten op als een gebruikersinstelling en onthoudt deze wanneer een oplossing wordt gesloten en opnieuw wordt geopend.

Venster voor Live Unit Testing

U kunt de afspeellijsteditor voor het tabblad Live Unit Testen gebruiken om projecten, naamruimten of klassen van uitvoering op te nemen of uit te sluiten. Selecteer Afspeellijst bewerken in het taakvenster.

U kunt de elementen van de structuurweergave selecteren of wissen om tests op te nemen of uit te sluiten. Als u bijvoorbeeld één test controleert, voert Live Unit Testing deze uit op wijzigingen. Als u een klasse selecteert, worden alle tests in die klasse uitgevoerd en worden er ook nieuwe tests uitgevoerd die aan die klasse worden toegevoegd.

Schermopname van de afspeellijsteditor voor Live Unit Testing.

Het venster van de code-editor

U kunt het venster code-editor gebruiken om afzonderlijke testmethoden op te nemen of uit te sluiten. Klik met de rechtermuisknop op de handtekening of hoofdtekst van de testmethode in het venster van de code-editor en selecteer een van de volgende opties:

  • Live Unit Testen>Geselecteerde methode opnemen<>
  • Live Unit Testen>Sluit geselecteerde methode< uit>
  • Live Unit Testen>Alles behalve de <geselecteerde methode> uitsluiten

Solution Explorer

Als u de afzonderlijke projecten in eenheidstests wilt selecteren, volgt u deze stappen nadat Live Unit Testing is gestart:

  1. Klik met de rechtermuisknop op de oplossing in Solution Explorer en selecteer Live Unit Testing>Exclude om de hele oplossing uit te sluiten.
  2. Klik met de rechtermuisknop op elk testproject dat u wilt opnemen in de tests en selecteer Live-eenheidstests>Opnemen.

Programmatisch in testcode

U kunt het ExcludeFromCodeCoverageAttribute kenmerk toepassen om methoden, klassen of structuren programmatisch uit te sluiten van het rapporteren van hun dekking in Live Unit Testing.

Gebruik de volgende kenmerken om afzonderlijke methoden uit te sluiten van Live Unit Testing:

  • xUnit: [Trait("Category", "SkipWhenLiveUnitTesting")]
  • Eenheid: [Category("SkipWhenLiveUnitTesting")]
  • MSTest: [TestCategory("SkipWhenLiveUnitTesting")]

Gebruik de volgende kenmerken om een volledige assembly van tests uit te sluiten van Live Unit Testing:

  • xUnit: [assembly: AssemblyTrait("Category", "SkipWhenLiveUnitTesting")]
  • Eenheid: [assembly: Category("SkipWhenLiveUnitTesting")]
  • MSTest: [assembly: TestCategory("SkipWhenLiveUnitTesting")]

Dekkingsvisualisatie weergeven

Nadat Live Unit Testing is ingeschakeld, wordt elke regel code in de Visual Studio-editor bijgewerkt om aan te geven of de code die u schrijft gedekt wordt door unittests en of de tests die de code dekken slagen.

In de volgende afbeelding ziet u regels code met geslaagde en mislukte tests en regels met code die niet worden gedekt door tests. Lijnen met een groene "✓" worden alleen gedekt door geslaagde tests. Lijnen met een rode 'x' vallen onder een of meer mislukte tests. Lijnen met een blauwe '➖' vallen niet onder een test.

Screenshot die codedekking in Visual Studio laat zien.

De dekkingsvisualisatie voor live-eenheidstests wordt onmiddellijk bijgewerkt wanneer u code in de code-editor wijzigt. Tijdens het verwerken van de bewerkingen worden de visualisaties bijgewerkt om aan te geven dat de gegevens niet up-to-date zijn. Dit wordt gedaan door een ronde timerafbeelding toe te voegen onder de symbolen voor geslaagd, gefaald en niet-gedekt, zoals de volgende afbeelding laat zien.

Schermopname van codedekking in Visual Studio met timerpictogram.

Informatie over teststatus ophalen

Door de muisaanwijzer op het doorgegeven of mislukte symbool in het codevenster te plaatsen, kunt u zien hoeveel tests die lijn bereiken. Als u de status van de afzonderlijke tests wilt zien, selecteert u het symbool.

Schermopname van de teststatus voor een symbool in Visual Studio.

Naast het instellen van de namen en het resultaat van tests, kunt u met de knopinfo de set tests opnieuw uitvoeren of fouten opsporen. Als u een of meer van de tests in de knopinfo selecteert, kunt u ook alleen deze tests uitvoeren of fouten opsporen. Met deze actie kunt u fouten opsporen in uw tests zonder dat u het codevenster hoeft te verlaten.

Wanneer u foutopsporing uitvoert, wordt naast het observeren van eventuele onderbrekingspunten die u mogelijk al hebt ingesteld, de uitvoering van het programma onderbroken wanneer het foutopsporingsprogramma een Assert methode uitvoert die een onverwacht resultaat retourneert.

Wanneer u met de muis over een mislukte test gaat in de tooltip, wordt deze uitgebreid om meer informatie over de mislukking te geven, zoals te zien is in de volgende afbeelding. Als u rechtstreeks naar een mislukte test wilt gaan, dubbelklikt u erop in de tooltip.

Schermopname die de tooltipinformatie van een mislukte test in Visual Studio toont.

Wanneer u naar de mislukte test gaat, geeft Live Unit Testing visueel aan in de methodehandtekening de tests met:

  • Geslaagd (aangetoond door een halfvolle beker met een groene "✓").
  • Mislukt (aangegeven door een halfvol beaker, samen met een rode "🞩").
  • Zijn niet betrokken bij Live Unit Testing (aangegeven door een halfvol beaker samen met een blauwe "➖").

Niet-testmethoden worden niet geïdentificeerd met een symbool. In de volgende afbeelding ziet u alle vier de typen methoden.

Schermopname van testmethoden in Visual Studio met doorgegeven of mislukte symbolen.

Testfouten vaststellen en corrigeren

Vanuit de mislukte test kunt u eenvoudig fouten opsporen in de productcode, wijzigingen aanbrengen en doorgaan met het ontwikkelen van uw toepassing. Omdat Live Unit Testing op de achtergrond wordt uitgevoerd, hoeft u Live Unit Testing niet te stoppen en opnieuw te starten tijdens de foutopsporing, bewerking en continue cyclus.

De testfout die in de vorige afbeelding wordt weergegeven, is bijvoorbeeld veroorzaakt door een onjuiste aanname in de testmethode dat niet-alfabetische tekens true retourneren wanneer ze worden doorgegeven aan de System.Char.IsLower methode. Nadat u de testmethode hebt gecorrigeerd, moeten alle tests worden geslaagd. U hoeft Live Unit Testing niet te onderbreken of stoppen.

Venster Live Unit Testing

Live Unit Testing, vergelijkbaar met Test Explorer, biedt een interface waarmee u tests kunt uitvoeren en fouten kunt opsporen en testresultaten kunt analyseren. Wanneer Live Unit Testing is ingeschakeld, wordt de status van eenheidstests in Test Explorer onmiddellijk bijgewerkt. U hoeft de eenheidstests niet expliciet uit te voeren.

Wanneer Live Unit Testing niet is ingeschakeld of gestopt, wordt in Live Unit Testing de status van eenheidstests weergegeven wanneer een test de laatste keer is uitgevoerd. Nadat u Live Unit Testing opnieuw hebt gestart, is een broncodewijziging vereist om de tests opnieuw uit te voeren.

U kunt Live Unit Testing starten door Test>Live Unit Testing>Start te selecteren in het menu Visual Studio op het hoogste niveau. U kunt het venster Live Unit Testing ook openen via Beeld>Andere Vensters>Live Unit Testing-venster.

U ziet mogelijk in het venster Live Unit Testing dat sommige tests zijn vervaagd. Wanneer u bijvoorbeeld Live Unit Testing stopt en opnieuw start, vervaagt het venster Live Unit Testing alle tests, zoals in de volgende afbeelding wordt weergegeven.

Vervaagde testresultaten geven aan dat de test geen deel uitmaakte van de nieuwste live unit-testuitvoering. Tests worden alleen uitgevoerd wanneer een wijziging in de test of de afhankelijkheden van de test wordt gedetecteerd. Als er geen wijziging is, wordt voorkomen dat de test onnodig wordt uitgevoerd. In dit geval is het grijs weergegeven testresultaat nog steeds 'up-to-date', hoewel het geen deel uitmaakte van de meest recente uitvoering.

Een schermopname die vervaagde tests in Test Explorer toont.

U kunt alle tests die zijn vervaagd, opnieuw uitvoeren door een codewijziging aan te brengen.

Er zijn enkele verschillen tussen het automatisch uitvoeren en bijwerken van testresultaten van Live Unit Testing en het expliciet uitvoeren van tests vanuit Test Explorer. Deze verschillen zijn onder andere:

  • Tests uitvoeren of fouten opsporen vanuit het testverkenner-venster voert reguliere binaire bestanden uit. Live Unit Testing voert geïnstrueerde binaire bestanden uit.
  • Live Unit Testing maakt geen nieuw toepassingsdomein om tests uit te voeren. In plaats daarvan worden tests uitgevoerd vanuit het standaarddomein. Tests die worden uitgevoerd vanuit het venster Test Explorer , maken een nieuw toepassingsdomein.
  • Live Unit Testing voert tests in elke testassembly sequentieel uit. In het venster Test Explorer kunt u ervoor kiezen om meerdere tests parallel uit te voeren.

Testuitvoeringen voor live-eenheidstests annuleren

Live Unit Testing blijft tests uitvoeren wanneer u codewijzigingen aanbrengt. Als er een test wordt uitgevoerd en u meer codewijzigingen aanbrengt, zet Live Unit Testing een andere test in de wachtrij terwijl wordt gewacht tot de eerste is voltooid.

Wanneer u bestanden opslaat, annuleert Live Unit Testing de eerste uitvoering en plant onmiddellijk de uitvoering die in de wachtrij staat in. Dit proces helpt bij scenario's waarbij de eerste uitvoering lang zou hebben geduurd.

Zie ook