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.
Pravidla analýzy MSTest (MSTESTxxxx) kontrolují kód jazyka C# nebo Visual Basic pro zabezpečení, výkon, návrh a další problémy.
Návod
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.
Návod
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 během běhu.
Recommended
Očekává se, že tento režim bude používat většina vývojářů. Pravidla, která mají ve výchozím nastavení povolenou závažnost Informace (suggestion), jsou eskalována na varování. Následující pravidla jsou eskalována k chybám v obou Recommended režimech All :
- MSTEST0003: Testovací metody by měly mít platné rozložení.
- MSTEST0043: Pro testovací metodu použijte atribut opakování.
All
Tento režim je agresivnější než Recommended. Všechna pravidla jsou povolená jako upozornění. Kromě toho jsou následující pravidla eskalována k chybám:
- MSTEST0003: Testovací metody by měly mít platné rozložení.
- MSTEST0043: Pro testovací metodu použijte atribut opakování.
Poznámka
Následující pravidla jsou zcela volitelná a nejsou aktivována v režimu Default, Recommendednebo All:
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.
Nástroj 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