Lezen in het Engels

Delen via


MSTest-codeanalyse

MSTest-analyseregels ('MSTESTxxxx') inspecteren uw C# of Visual Basic-code voor beveiliging, prestaties, ontwerp en andere problemen.

Tip

Als u Visual Studio gebruikt, hebben veel analyseregels codecorrecties gekoppeld die u kunt toepassen om het probleem op te lossen. Codecorrecties worden weergegeven in het pictogrammenu van de gloeilamp.

De regels zijn ingedeeld in categorieën zoals prestatiegebruik...

Vanaf MSTest.TestFramework 3.7 is het NUGet-pakket MSTest.Analyzers een afhankelijkheid van het framework. Voor eerdere versies moet u MSTest metapackage gebruiken of een pakketverwijzing voor MSTest.Analyzers expliciet toevoegen.

MSTestAnalyseModus

Vanaf MSTest 3.8 is een MSBuild-eigenschap met de naam MSTestAnalysisMode beschikbaar om te bepalen welke analysen zijn ingeschakeld op welke ernst.

Tip

Als u wilt zien welke regels zijn ingeschakeld op welke ernst voor elke modus, kunt u naar het pakket van de gewenste versie in De NuGet-cache navigeren, de globalconfigs map zoeken en het .globalconfig bestand openen dat overeenkomt met de analysemodus. Zie De globale pakketten, cache en tijdelijke mappen beherenvoor meer informatie over hoe u de NuGet-cachemap kunt vinden. Zoek vanuit die directory de map mstest.analyzers, vervolgens de versie (3.8 of hoger), en daarna globalconfigs. U kunt ook het NuGet-pakket downloaden van de gewenste versie van nuget.org en bekijken in NuGet Package Explorer (Windows-app) of rechtstreeks bekijken in de web-app-versie van NuGet Package Explorer.

De beschikbare waarden voor deze eigenschap:

None

Met deze waarde worden alle analyses ingesteld op none ernst, waardoor ze allemaal worden uitgeschakeld. Vervolgens kunt u afzonderlijke analyses inschakelen met behulp van .editorconfig- of .globalconfig-bestanden.

Default

Deze instelling volgt het standaard gedocumenteerde gedrag voor elke regel.

  • Voor regels die standaard zijn ingeschakeld, wordt de standaard ernst gebruikt.
  • Regels die standaard zijn uitgeschakeld, hebben de ernstniveau none.

Notitie

Regels die standaard zijn ingeschakeld als waarschuwingen, zijn schendingen die naar verwachting problemen tijdens runtime veroorzaken.

Dit is de modus die de meeste ontwikkelaars verwachten te gebruiken. Regels die standaard zijn ingeschakeld en de ernst 'info' (suggestion) hebben, worden geëscaleerd naar waarschuwingen. Bovendien kunnen bepaalde regels worden geëscaleerd naar fouten in zowel Recommended als All modi. Bijvoorbeeld, MSTEST0003: Testmethoden moeten een geldige indeling hebben wordt geëscaleerd naar fout in Recommended- en All-modi's.

All

Deze modus is agressiever dan Recommended. Alle regels worden ingeschakeld als waarschuwingen. Zoals vermeld voor Recommended-modus, kunnen bepaalde regels naar fouten geëscaleerd worden in zowel Recommended- als All-modus. Bijvoorbeeld, MSTEST0003: Testmethoden moeten een geldige indeling hebben wordt geëscaleerd naar fout in Recommended- en All-modi's.

Categorieën

Ontwerpregels

Ontwerpregels u helpen bij het maken en onderhouden van testsuites die voldoen aan de juiste ontwerp- en goede procedures.

Regels voor prestaties

Prestatieregels krachtige tests ondersteunen.

Onderdrukkingsregels

Onderdrukkingsregels ondersteunen het onderdrukken van diagnostische gegevens van andere regels.

Gebruiksregels

gebruiksregels het juiste gebruik van MSTest ondersteunen.

MSTESTEXP

Verschillende API's van MSTest zijn voorzien van de ExperimentalAttribute. Dit kenmerk geeft aan dat de API experimenteel is en kan worden verwijderd of gewijzigd in toekomstige versies van MSTest. Het kenmerk wordt gebruikt om API's te identificeren die nog niet stabiel zijn en mogelijk niet geschikt zijn voor productiegebruik.

De MSTESTEXP diagnostische waarschuwing geeft een melding van het gebruik van een experimentele API in uw code. Als u deze diagnose wilt onderdrukken met de SuppressMessageAttribute, voegt u de volgende code toe aan uw project:

using System.Diagnostics.CodeAnalysis;

[assembly: SuppressMessage("MSTESTEXP", "Justification")]

U kunt deze diagnose ook onderdrukken met preprocessorrichtlijn door de volgende code toe te voegen aan uw project:

#pragma warning disable MSTESTEXP
        // API that is causing the warning.
#pragma warning restore MSTESTEXP