Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| 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.