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 MSTestAnalysisMode
voor 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.