Delen via


MSTEST0020: Liever constructors dan TestInitialize-methoden

Eigenschappen Weergegeven als
Regel-id MSTEST0020
Titel De voorkeur geven aan constructors ten opzichte van TestInitialize-methoden
Categorie Ontwerpen
Oplossing is brekend of niet-brekend Niet-brekend
Standaard ingeschakeld Nee
Standaard ernst Info
Geïntroduceerd in versie 3.4.0
Is er een codeoplossing Ja

Oorzaak

Deze regel genereert een diagnose wanneer er een ongeldige [TestInitialize] methode is.

Beschrijving van regel

Het is meestal beter om te vertrouwen op constructors voor niet-asynchrone initialisatie, omdat u vervolgens kunt vertrouwen readonly op en betere compilerfeedback kunt krijgen bij het ontwikkelen van uw tests. Dit geldt met name wanneer u te maken hebt met contexten met null-functionaliteit.

Schendingen oplossen

Vervang [TestInitialize] retourneert void door constructors.

Wanneer waarschuwingen onderdrukken

U wilt meestal geen waarschuwingen van deze regel onderdrukken als u ervoor hebt gekozen om u hiervoor aan te kiezen.

Notitie

Deze regel is optioneel aan te zetten. Het is niet ingeschakeld, zelfs niet wanneer u <MSTestAnalysisMode>All</MSTestAnalysisMode>gebruikt. Zie MSTestAnalysisModevoor meer informatie over .

Een waarschuwing onderdrukken

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.

#pragma warning disable MSTEST0020
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0020

Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst ervan in op none in het configuratiebestand.

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0020.severity = none

Voor meer informatie, zie Hoe u codeanalysewaarschuwingen kunt onderdrukken.