Dela via


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 MSTestAnalysisModefinns 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.