Dela via


MSTEST0020: Föredrar konstruktorer framför TestInitialize-metoder

Property Värde
Regel-ID MSTEST0020
Title Föredrar konstruktorer framför TestInitialize-metoder
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 void-metod [TestInitialize] .

Regelbeskrivning

Det är vanligtvis bättre att förlita sig på konstruktorer för icke-asynkron initiering eftersom du sedan kan förlita dig på readonly och få bättre kompileringsfeedback när du utvecklar dina tester. Detta gäller särskilt vid hantering av null-aktiverade kontexter.

Så här åtgärdar du överträdelser

Ersätt [TestInitialize] returnering void av konstruktorer.

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 är valfri. Det är inte aktiverat även när du använder <MSTestAnalysisMode>All</MSTestAnalysisMode>. Mer information om MSTestAnalysisModefinns i MSTest code analysis.

Ignorera 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 MSTEST0020
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0020

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.MSTEST0020.severity = none

Mer information finns i Så här utelämnar du kodanalysvarningar.