Udostępnij za pośrednictwem


MSTEST0019: Preferuj metody TestInitialize nad konstruktorami

Właściwości Wartość
Identyfikator reguły MSTEST0019
Tytuł Preferuj metody TestInitialize nad konstruktorami
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 w klasie testowej zadeklarowano bez parametrów jawny konstruktor (klasa oznaczona jako [TestClass]).

Opis reguły

Użyj tej reguły, aby wymusić użycie zarówno [TestInitialize] dla inicjowania synchronicznego, jak i asynchronicznego testu. Inicjowanie testu asynchronicznego (asynchronicznego/await) wymaga użycia [TestInitialize] metod, ponieważ wynikowy Task musi być oczekiwany.

Jak naprawić naruszenia

Zastąp wywołanie konstruktora [TestInitialize] metodą .

Kiedy pomijać ostrzeżenia

Zwykle nie chcesz pomijać ostrzeżeń z tej reguły, jeśli zdecydujesz się na to zgodę.

Uwaga

Ta reguła jest włączona. Nie jest ona włączona nawet w przypadku korzystania z <MSTestAnalysisMode>All</MSTestAnalysisMode>. Aby uzyskać więcej informacji na temat MSTestAnalysisMode, zobacz analizę kodu MSTest.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0019.severity = none

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.