MSTEST0019: Föredrar TestInitialisera metoder framför konstruktorer
Property | Värde |
---|---|
Regel-ID | MSTEST0019 |
Title | Föredra TestInitialize-metoder framför konstruktorer |
Kategori | Designa |
Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
Aktiverad som standard | Nej |
Standard allvarlighetsgrad | Info |
Introducerad i version | 3.4.0 |
Finns det en kodkorrigering | Ja |
Orsak
Den här regeln genererar en diagnostik när det finns en explicit konstruktor utan parameter deklarerad på en testklass (klass markerad med [TestClass]
).
Regelbeskrivning
Använd den här regeln för att framtvinga användning [TestInitialize]
för både synkron och asynkron testinitiering. Asynkron testinitiering (asynkron/inväntning) kräver användning av [TestInitialize]
metoder, eftersom resultatet Task
måste inväntas.
Så här åtgärdar du överträdelser
Ersätt konstruktoranropet med en [TestInitialize]
metod.
När du ska ignorera varningar
Du vill vanligtvis inte ignorera varningar från den här regeln om du har valt att anmäla dig för den.
Anmärkning
Den här regeln kräver att man väljer att delta. Det är inte aktiverat även när du använder <MSTestAnalysisMode>All</MSTestAnalysisMode>
. Mer information om MSTestAnalysisMode
finns i MSTest kodanalys.
Undertryck en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.
#pragma warning disable MSTEST0019
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0019
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none
i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0019.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.