MSTEST0020: Preferuj konstruktory za pośrednictwem metod TestInitialize
Właściwości | Wartość |
---|---|
Identyfikator reguły | MSTEST0020 |
Tytuł | Preferuj konstruktory za pośrednictwem metod TestInitialize |
Kategoria | Projektowanie |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone | Nie. |
Ważność domyślna | Informacje |
Wprowadzone w wersji | 3.4.0 |
czy istnieje poprawka kodu | Tak |
Przyczyna
Ta reguła zgłasza diagnostykę, gdy istnieje metoda void [TestInitialize]
.
Opis reguły
Zwykle lepiej jest polegać na konstruktorach w przypadku inicjowania niezsynchronicznego, ponieważ następnie można polegać na readonly
i uzyskać lepszą opinię kompilatora podczas opracowywania testów. Jest to szczególnie istotne w przypadku obsługi kontekstów z włączonymi wartościami null.
Jak naprawić naruszenia
Zastąp [TestInitialize]
zwracane void
przez konstruktory.
Kiedy pomijać ostrzeżenia
Zwykle nie chcesz pomijać ostrzeżeń z tej reguły, jeśli zdecydujesz się na to zgodę.
Pomijanie ostrzeżenia
Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.
#pragma warning disable MSTEST0020
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0020
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0020.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.