Sdílet prostřednictvím


MSTEST0019: Preferujte metody TestInitialize před konstruktory

Vlastnost Hodnota
ID pravidla MSTEST0019
Název Preferujte metody TestInitialize před konstruktory.
Kategorie Návrh
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující
Povoleno ve výchozím nastavení No
Výchozí závažnost Informace
Představeno ve verzi 3.4.0
Existuje oprava kódu Ano

Příčina

Toto pravidlo vyvolá diagnostiku, pokud je v testovací třídě deklarován explicitní konstruktor bez parametrů (třída označená [TestClass]).

Popis pravidla

Toto pravidlo použijte k vynucení použití [TestInitialize] pro synchronní i asynchronní inicializaci testů. Asynchronní inicializace testu (async/await) vyžaduje použití [TestInitialize] metod, protože výsledek Task musí být očekáván.

Jak opravit porušení

Nahraďte volání konstruktoru metodou [TestInitialize] .

Kdy potlačit upozornění

Obvykle nechcete potlačit upozornění z tohoto pravidla, pokud jste se rozhodli vyjádřit výslovný souhlas s tímto pravidlem.

Poznámka

Toto pravidlo je na základě dobrovolného přihlášení. Není povolena ani při použití <MSTestAnalysisMode>All</MSTestAnalysisMode>. Další informace o MSTestAnalysisModenaleznete v analýze kódu MSTest.

Potlačte upozornění

Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

#pragma warning disable MSTEST0019
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0019

Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .

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

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.