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 MSTestAnalysisMode
naleznete 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.