Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Vlastnost | Hodnota |
|---|---|
| ID pravidla | MSTEST0021 |
| Název | Preferujte Dispose před metodami TestCleanup |
| 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, od verze 3.7.0 |
Příčina
Toto pravidlo vyvolá diagnostiku, pokud existuje metoda void [TestCleanup] nebo v případě, [TestCleanup] že cílová architektura podporuje IAsyncDisposable rozhraní.
Popis pravidla
Použití Dispose nebo DisposeAsync je častější vzor a někteří vývojáři dávají přednost tomu, aby tento vzor vždy používali i pro testy.
Jak opravit porušení
Nahraďte [TestCleanup] metodu podle Dispose vzoru.DisposeAsync
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ě souhlasu. Není povolena ani při použití <MSTestAnalysisMode>All</MSTestAnalysisMode>. Další informace o MSTestAnalysisModenaleznete v tématu analýzy 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 MSTEST0021
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0021
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.MSTEST0021.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.