Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
MSTest-analyseregels ('MSTESTxxxx') inspecteren uw C# of Visual Basic-code voor beveiliging, prestaties, ontwerp en andere problemen.
Aanbeveling
Wanneer u gebruikmaakt van Visual Studio, hebben veel analyseregels gekoppelde code-hervormingen 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.
Aanbeveling
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.
Voor meer informatie over het vinden van de NuGet-cachemap, zie De globale pakketten, cache en tijdelijke mappen beheren. Zoek vanuit die directory de map mstest.analyzers, vervolgens de versie (3.8 of hoger), en daarna globalconfigs.
U kunt ook het NuGet-pakket van de gewenste nuget.org versie downloaden en bekijken in NuGet Package Explorer (Windows-app) of rechtstreeks bekijken in de web-appversie 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.
Recommended
Dit is de modus die de meeste ontwikkelaars naar verwachting zullen gebruiken. Regels die standaard zijn ingeschakeld en de ernst 'info' (suggestion) hebben, worden geëscaleerd naar waarschuwingen. De volgende regels worden geëscaleerd naar fouten in beide Recommended en All modi's:
- MSTEST0003: Testmethoden moeten een geldige indeling hebben.
- MSTEST0043: Gebruik het retry-attribuut op testmethode.
All
Deze modus is agressiever dan Recommended. Alle regels worden ingeschakeld als waarschuwingen. Daarnaast worden de volgende regels geëscaleerd naar fouten:
- MSTEST0003: Testmethoden moeten een geldige indeling hebben.
- MSTEST0043: Gebruik het retry-attribuut op testmethode.
Notitie
De volgende regels zijn volledig optioneel en zijn niet ingeschakeld in de Default, Recommendedof All-modussen:
- MSTEST0015: Testmethode mag niet worden genegeerd
- MSTEST0019: Geef de voorkeur aan TestInitialize-methoden boven constructors
- MSTEST0020: Geef de voorkeur aan constructors (constructeurs) boven TestInitialize-methoden
- MSTEST0021: Geef de voorkeur aan Dispose boven TestCleanup-methoden
- MSTEST0022: Prefer TestCleanup boven Dispose-methoden
Categorieën
Ontwerpregels
Met ontwerpregels kunt u testsuites maken en onderhouden die voldoen aan de juiste ontwerp- en goede procedures.
Regels voor prestaties
Prestatieregels bieden ondersteuning voor high-performance testen.
Onderdrukkingsregels
Onderdrukkingsregels ondersteunen het onderdrukken van diagnostische gegevens van andere regels.
Gebruiksregels
Gebruiksregels ondersteunen het juiste gebruik van MSTest.
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