Sdílet prostřednictvím


Analýza kódu MSTest

Pravidla analýzy MSTest (MSTESTxxxx) kontrolují kód jazyka C# nebo Visual Basic pro zabezpečení, výkon, návrh a další problémy.

Tip

Pokud používáte Visual Studio, mnoho pravidel analyzátoru má přidružené opravy kódu, které můžete použít k vyřešení problému. Opravy kódu se zobrazují v nabídce ikon žárovky.

Pravidla jsou uspořádaná do kategorií, jako je využití výkonu...

Počínaje verzí MSTest.TestFramework 3.7 je balíček MSTest.Analyzers NuGet závislostí frameworku. Pro starší verze je potřeba použít MSTest metabalíč nebo přidat odkaz na balíček pro MSTest.Analyzers explicitně.

MSTestAnalysisMode

Počínaje verzí MSTest 3.8 je k dispozici vlastnost MSBuild s názvem MSTestAnalysisMode, která určuje, které analyzátory jsou povoleny v jaké závažnosti.

Tip

Pokud chcete zjistit, která pravidla jsou povolena s jakou závažností pro každý režim, můžete přejít na balíček verze zájmu v mezipaměti NuGet, vyhledat globalconfigs adresář a otevřít soubor .globalconfig odpovídající režimu analýzy. Další informace o hledání adresáře mezipaměti NuGet najdete v tématu Správa globálních balíčků, mezipaměti a dočasných složek. V adresáři vyhledejte mstest.analyzers adresář, potom verzi (3.8 a vyšší) a pak globalconfigs. Případně si můžete stáhnout balíček NuGet verze, která vás zajímá, z nuget.org a prohlédnout ho v Průzkumníku balíčků NuGet (aplikace pro Windows), nebo ho prohlédnout přímo ve webové verzi Průzkumníka balíčků NuGet ve verzi.

Dostupné hodnoty pro tuto vlastnost:

None

Tato hodnota nastaví všechny analyzátory na none závažnosti a zakáže je všechny. Jednotlivé analyzátory pak můžete povolit pomocí .editorconfig nebo .globalconfig souborů.

Default

Toto nastavení se řídí výchozím zdokumentovaným chováním pro každé pravidlo.

  • Pravidla, která jsou ve výchozím nastavení povolená, budou používat výchozí závažnost.
  • Pravidla, která jsou ve výchozím nastavení zakázaná, budou používat závažnost none.

Poznámka

Pravidla, která jsou ve výchozím nastavení povolená jako upozornění, jsou porušení, u kterých se očekává, že způsobí problémy za běhu.

Toto je režim, který očekáváme, že většina vývojářů bude používat. Pravidla, která mají ve výchozím nastavení povolenou závažnost Informace (suggestion), jsou eskalována na varování. Kromě toho mohou být určitá pravidla eskalována k chybám v režimech Recommended a All. Například MSTEST0003: Testovací metody by měly mít platné rozložení je eskalováno k chybě v Recommended a All režimech.

All

Tento režim je agresivnější než Recommended. Všechna pravidla jsou povolená jako upozornění. Jak je uvedeno v režimu Recommended, některá pravidla mohou být eskalována k chybám v Recommended i v režimu All. Například MSTEST0003: Testovací metody by měly mít platné rozložení je eskalováno k chybě v Recommended a All režimech.

Kategorie

Pravidla návrhu

Pravidla návrhu pomáhají vytvářet a udržovat testovací sady, které dodržují správné postupy návrhu.

Pravidla výkonu

pravidla výkonu podporují vysoce výkonné testování.

Pravidla potlačení

Pravidla potlačení nabízejí podporu pro potlačení diagnostiky z jiných pravidel.

Pravidla použití

pravidla použití podporují správné použití MSTestu.

MSTESTEXP

Několik rozhraní API MSTest je zdobeno ExperimentalAttribute. Tento atribut označuje, že rozhraní API je experimentální a může být odebráno nebo změněno v budoucích verzích MSTest. Tento atribut slouží k identifikaci rozhraní API, která ještě nejsou stabilní a nemusí být vhodná pro produkční použití.

Diagnostická výstraha MSTESTEXP vás upozorní na používání experimentálního rozhraní API ve vašem kódu. Pokud chcete tuto diagnostiku potlačit pomocí SuppressMessageAttribute, přidejte do projektu následující kód:

using System.Diagnostics.CodeAnalysis;

[assembly: SuppressMessage("MSTESTEXP", "Justification")]

Alternativně můžete tuto diagnostiku potlačit direktivou preprocesoru přidáním následujícího kódu do projektu:

#pragma warning disable MSTESTEXP
        // API that is causing the warning.
#pragma warning restore MSTESTEXP