Udostępnij za pośrednictwem


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.