MSTEST0019: Prefer TestInitialize methods over constructors
Eigenschappen | Weergegeven als |
---|---|
Regel-id | MSTEST0019 |
Titel | De voorkeur geven aan TestInitialize-methoden voor constructors |
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 parameterloze expliciete constructor is gedeclareerd voor een testklasse (klasse gemarkeerd met [TestClass]
).
Beschrijving van regel
Gebruik deze regel om gebruik [TestInitialize]
af te dwingen voor zowel synchrone als asynchrone test initialisatie. Asynchrone (async/await) test initialisatie vereist het gebruik van [TestInitialize]
methoden, omdat het resulterende Task
moet worden verwacht.
Schendingen oplossen
Vervang de constructor-aanroep door een [TestInitialize]
methode.
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 vrijwillig. 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 MSTEST0019
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0019
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.MSTEST0019.severity = none
Voor meer informatie, zie Hoe u codeanalysewaarschuwingen kunt onderdrukken.